Python爬虫实战:抓取豆瓣电影《穿靴子的猫2》影评数据
Python爬虫实战:抓取豆瓣电影《穿靴子的猫2》影评数据
本项目使用Python语言和Selenium库,爬取豆瓣电影《穿靴子的猫2》的所有页面的影评数据,包括评论人名称、评论时间和评论内容。
代码实现
from selenium import webdriver
import time
import json
# 打开浏览器
browser = webdriver.Chrome()
# 打开网页
url = 'https://movie.douban.com/subject/25868125/'
browser.get(url)
time.sleep(2)
# 点击展开全部影评
button = browser.find_element_by_xpath('//div[@class="reviews mod movie-content"]/header/span/a')
button.click()
time.sleep(2)
# 获取评论信息
comments = []
for i in range(5):
# 获取当前页面评论信息
comment_items = browser.find_elements_by_xpath('//div[@class="review-list "]/div[@class="review-item"]')
for item in comment_items:
comment = {}
comment['user'] = item.find_element_by_xpath('.//header/a[@class="name"]/text()').text
comment['time'] = item.find_element_by_xpath('.//header/span[@class="comment-time "]/@title').text
comment['content'] = item.find_element_by_xpath('.//div[@class="review-short"]/text()').text
comments.append(comment)
# 点击下一页
next_button = browser.find_element_by_xpath('//div[@class="review-list "]/div[@class="review-pagination"]/a[@class="next"]')
if not next_button:
break
next_button.click()
time.sleep(2)
# 保存为json文件
with open('comments.json', 'w', encoding='utf-8') as f:
json.dump(comments, f, ensure_ascii=False)
# 关闭浏览器
browser.quit()
运行结果

代码说明
- 使用Selenium库打开浏览器并访问豆瓣电影《穿靴子的猫2》的页面。
- 使用
find_element_by_xpath()方法定位并点击“展开全部影评”按钮。 - 使用循环遍历评论页面,使用
find_elements_by_xpath()方法获取每个评论的用户信息、评论时间和评论内容。 - 将获取到的评论数据存储到
comments列表中。 - 使用
json.dump()方法将comments列表保存为JSON格式文件。
项目总结
本项目演示了如何使用Python语言和Selenium库爬取网页数据,并将其保存为JSON格式文件。该方法可以应用于各种网页数据爬取场景,例如抓取新闻、商品信息、社交媒体数据等。
原文地址: https://www.cveoy.top/t/topic/oA3O 著作权归作者所有。请勿转载和采集!