【Google map地点评论抓取】可用作情感分析

Hello Hello GIS辣妹来了,今天分享google map地点的评论抓取方法,抓取的评论可以用做NLP情感分析

一、数据准备

我的网站数据表格如下,就是一个存储网站链接的,但是网站必须要是图2里面,一个location,左边就是这个location的review(因为我代码就是爬这个review,所以里面的容器是固定的,避免出错还是按照我这个弄)

图1
图2

二、代码部分

下面就是代码部分,记得装相应的包以及更改自己的网站表格存储路径。

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from bs4 import BeautifulSoup
import pandas as pd
import time

# 使用webdriver-manager自动安装和配置ChromeDriver
service = Service(ChromeDriverManager().install())

# 启动Selenium WebDriver
driver = webdriver.Chrome(service=service)

# 读取Excel文件,假设文件名为'reviews.xlsx',里面的列名为'Website'
df = pd.read_excel('reviews.xlsx')

# 创建一个空的DataFrame来存储评论
output_df = pd.DataFrame()

# 遍历每个网址
for index, row in df.iterrows():
    website = row['website']

    # 打开目标页面
    driver.get(website)

    # 等待页面加载
    time.sleep(5)

    # 执行滚动以加载更多评论
    last_height = driver.execute_script("return document.body.scrollHeight")

    while True:
        driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
        time.sleep(2)
        new_height = driver.execute_script("return document.body.scrollHeight")
        if new_height == last_height:
            break
        last_height = new_height

    # 获取页面HTML
    html = driver.page_source

    # 使用BeautifulSoup解析HTML
    soup = BeautifulSoup(html, 'html.parser')

    # 使用类名找到评论区的评论内容
    reviews = soup.find_all('span', class_='wiI7pd')  # 使用检查到的类名 'wiI7pd' 获取评论

    # 提取评论信息,存储在一个列表中
    comments = []
    for review in reviews:
        comment = review.text.strip()  # 获取评论文本并去掉首尾空格
        comments.append(comment)

    # 将评论加入到输出的DataFrame中
    output_df.loc[index, 'Website'] = website
    for i, comment in enumerate(comments):
        output_df.loc[index, f'Review {i + 1}'] = comment  # 将每条评论作为单独的列存储

# 关闭浏览器
driver.quit()

# 保存结果到Excel
output_df.to_excel('scraped_reviews.xlsx', index=False)

print("评论爬取并保存成功!")

三、运行以及结果

运行的时候会自动弹出下面的页面,就是在自动抓取之中了,因为webdriver-manager 会自动检测你系统上的 Chrome 浏览器版本,所以我们不需要在额外安装ChromeDriver,也不需要任何的初始化手段。最后运行的结果就是一个网址后面跟随多个review的列。
在这里插入图片描述
在这里插入图片描述

哇塞哇塞,给辣妹点个赞再走吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值