Python爬虫实战:抓取豆瓣电影《穿靴子的猫2》影评数据
Python爬虫实战:抓取豆瓣电影《穿靴子的猫2》影评数据
本教程将使用Python语言,结合Selenium库,爬取豆瓣电影《穿靴子的猫2》的所有影评数据,并以JSON格式保存。通过代码示例和截图,详细讲解爬取步骤和代码实现。
爬取步骤
-
使用Selenium库,点击进入电影全部影评
首先,我们需要使用Selenium库来模拟浏览器行为,打开豆瓣电影《穿靴子的猫2》的页面,并点击“全部影评”按钮,进入影评页面。
-
从'https://movie.douban.com/subject/25868125/comments?start=0&limit=20&status=P&sort=new_score'地址开始,抓取第一页的评论人名称、评论时间以及评论。
进入影评页面后,我们需要抓取第一页的影评数据,包括评论人名称、评论时间和评论内容。
-
继续抓取2-3页的所有评论人名称、评论时间以及评论。
为了获取更多数据,我们需要继续抓取后续几页的评论数据。
-
将抓取到的数据以文件存储的方式,存储为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”的文件,其中保存了所有的评论数据。

总结
本教程介绍了使用Python语言和Selenium库爬取豆瓣电影《穿靴子的猫2》影评数据的方法,并以JSON格式保存数据。通过学习本教程,您可以掌握基本的网络爬虫技术,并应用于各种数据采集场景。
原文地址: https://www.cveoy.top/t/topic/oBbK 著作权归作者所有。请勿转载和采集!