Python爬虫实战:使用Selenium抓取豆瓣电影《穿靴子的猫2》所有影评
使用Python爬虫抓取豆瓣电影《穿靴子的猫2》所有影评
本教程将指导你使用Python和Selenium库抓取豆瓣电影《穿靴子的猫2》所有影评数据,包括评论人名称、评论时间和评论内容。
步骤1:借助Selenium库,点击进入电影全部影评
首先,需要安装Selenium库和Chrome浏览器驱动。
在Python中,使用Selenium库需要先安装,可以通过pip命令进行安装:
pip install selenium
然后,下载对应Chrome浏览器版本的驱动,并将驱动文件放置在系统PATH中。
接下来,可以编写以下代码实现点击'全部影评'按钮:
from selenium import webdriver
# 启动Chrome浏览器
driver = webdriver.Chrome()
# 打开网页
url = 'https://movie.douban.com/subject/25868125/'
driver.get(url)
# 点击'全部影评'按钮
button = driver.find_element_by_xpath('//*[@id="comments-section"]/div[1]/h2/span/a')
button.click()
这样就可以自动点击进入电影的全部影评页面了。
步骤2:从第一页开始,抓取所有页面的评论
从第一页开始,每一页都有20条评论,因此可以通过修改url的start参数来获取不同页的评论。
具体地,可以编写以下代码来抓取第一页的评论:
import time
# 等待页面加载完成
time.sleep(3)
# 获取第一页的评论
url = 'https://movie.douban.com/subject/25868125/comments?start=0&limit=20&status=P&sort=new_score'
driver.get(url)
# 获取评论人名称、评论时间和评论内容
comments = driver.find_elements_by_xpath('//div[@class="comment-item"]')
for comment in comments:
name = comment.find_element_by_xpath('.//span[@class="comment-info"]/a').text
time = comment.find_element_by_xpath('.//span[@class="comment-time "]/a/@title').text
content = comment.find_element_by_xpath('.//p/span').text
print(name, time, content)
以上代码使用了Selenium库的find_elements_by_xpath方法来定位页面元素,并使用text属性来获取元素的文本内容。
这样,就可以抓取第一页的评论了。如果需要抓取更多页的评论,可以依次修改url中的start参数,获取不同页的评论数据。
注意:
- 上述代码仅展示了抓取第一页的评论,你需要根据实际情况修改代码,循环获取所有页面的评论。
- 为了避免频繁访问豆瓣网站,建议设置一定的爬取频率和访问间隔,避免被网站封禁。
- 尊重网站的爬取规则,不要进行过度爬取,以免造成网站负担。
希望本教程能帮助你使用Selenium库抓取豆瓣电影《穿靴子的猫2》的所有影评数据。
原文地址: https://www.cveoy.top/t/topic/oA4g 著作权归作者所有。请勿转载和采集!