Python爬虫实战:抓取豆瓣电影《穿靴子的猫2》影评数据

本教程将使用Python语言,结合Selenium库,爬取豆瓣电影《穿靴子的猫2》的所有影评数据,并以JSON格式保存。通过代码示例和截图,详细讲解爬取步骤和代码实现。

爬取步骤

  1. 使用Selenium库,点击进入电影全部影评

    首先,我们需要使用Selenium库来模拟浏览器行为,打开豆瓣电影《穿靴子的猫2》的页面,并点击“全部影评”按钮,进入影评页面。

  2. 从'https://movie.douban.com/subject/25868125/comments?start=0&limit=20&status=P&sort=new_score'地址开始,抓取第一页的评论人名称、评论时间以及评论。

    进入影评页面后,我们需要抓取第一页的影评数据,包括评论人名称、评论时间和评论内容。

  3. 继续抓取2-3页的所有评论人名称、评论时间以及评论。

    为了获取更多数据,我们需要继续抓取后续几页的评论数据。

  4. 将抓取到的数据以文件存储的方式,存储为json格式数据。

    最后,我们需要将抓取到的数据存储为JSON格式文件,方便后续使用。

代码实现

from selenium import webdriver
import time
import json

# 设置Chrome浏览器的驱动路径
driver_path = r'C:\Users\Administrator\chromedriver.exe'

# 初始化一个浏览器窗口
browser = webdriver.Chrome(executable_path=driver_path)

# 请求网页
browser.get('https://movie.douban.com/subject/25868125/')

# 获取“全部影评”按钮
all_comment_button = browser.find_element_by_xpath('//*[@id="comments-section"]/div[1]/div[1]/a')

# 点击“全部影评”按钮
all_comment_button.click()

# 等待页面加载完成
time.sleep(3)

# 定义一个列表,用于存储所有的评论数据
comments = []

# 循环抓取2-3页的评论数据
for page in range(2, 4):
    # 构造当前页的URL
    url = f'https://movie.douban.com/subject/25868125/comments?start={(page-1)*20}&limit=20&status=P&sort=new_score'

    # 请求当前页的URL
    browser.get(url)

    # 获取所有的评论框
    comment_boxes = browser.find_elements_by_xpath('//*[@id="comments"]/div')

    # 循环遍历每个评论框
    for comment_box in comment_boxes:
        # 获取评论人名称
        author = comment_box.find_element_by_xpath('./div[2]/h3/span[2]').text.strip()

        # 获取评论时间
        time_str = comment_box.find_element_by_xpath('./div[2]/h3/span[3]').text.strip()
        # 将时间转换为时间戳
        time_stamp = int(time.mktime(time.strptime(time_str, '%Y-%m-%d %H:%M:%S')))

        # 获取评论内容
        content = comment_box.find_element_by_xpath('./div[2]/p/span').text.strip()

        # 将评论数据添加到列表中
        comments.append({'author': author, 'time': time_stamp, 'content': content})

# 将评论数据保存为json文件
with open('comments.json', 'w', encoding='utf-8') as f:
    json.dump(comments, f, ensure_ascii=False)

# 关闭浏览器窗口
browser.quit()

运行结果

运行上述代码后,会在当前目录下生成一个名为“comments.json”的文件,其中保存了所有的评论数据。

image.png

总结

本教程介绍了使用Python语言和Selenium库爬取豆瓣电影《穿靴子的猫2》影评数据的方法,并以JSON格式保存数据。通过学习本教程,您可以掌握基本的网络爬虫技术,并应用于各种数据采集场景。


原文地址: https://www.cveoy.top/t/topic/oBbK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录