📜  使用Python抓取 Google 评论和评分(1)

📅  最后修改于: 2023-12-03 14:49:50.489000             🧑  作者: Mango

使用Python抓取Google评论和评分

如果你想要获得对于产品、服务、内容等的更多反馈,那么抓取用户评论就是必不可少的。本文将介绍如何使用Python抓取Google评论和评分,以便于你在做产品、内容等方面的优化时更好地了解用户的反馈。

准备工作

在开始之前,你需要准备:

  • Python 3.x的环境
  • 安装requestsbeautifulsoup4pandas等相关Python库

在安装完所需库之后,你需要准备好要搜索的关键词和相关设置,例如语言、评论时间等。

抓取Google评论和评分

下面是使用Python抓取Google评论和评分的代码片段,并已按markdown标明:

import requests
from bs4 import BeautifulSoup
import pandas as pd

# 定义要搜索的关键词和搜索结果页数
search_query = '产品名称'
num_of_result_pages = 3

# 定义要抓取的语言和评论时间
language = 'en' # 英文
comment_time = 'past_year' # 一年内的评论

# 定义一个空的DataFrame,用于存储所有的评论和评分信息
df = pd.DataFrame(columns=['comment', 'rating'])

# 循环抓取每一页的搜索结果
for i in range(num_of_result_pages):
    url = f'https://www.google.com/search?q={search_query}&hl={language}&tbs=cdr:{comment_time}&start={i*10}'
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
    response = requests.get(url, headers=headers)
    soup = BeautifulSoup(response.content, 'html.parser')
    
    # 抓取每个搜索结果的评论和评分信息
    for div in soup.findAll('div', {'class': 'g'}):
        review = div.find('span', {'class': 'review-text'}).text
        rating = div.find('div', {'class': 'vQHuPe bUWb7c'}).find('div')['aria-label']
        
        # 将评论和评分信息添加到DataFrame中
        df = df.append({'comment': review, 'rating': rating}, ignore_index=True)

# 将DataFrame中的数据保存到CSV文件中
df.to_csv('google_reviews.csv', index=False)
结语

通过以上代码片段,你可以轻松抓取Google上关于你想要搜索的产品、服务、内容等的评论和评分信息。这样,你就可以更好地了解用户对你的产品、服务、内容等的反馈,以便于你做出更好的改进和优化。