Selenium爬取豆瓣电影《穿靴子的猫2》影评数据教程
Selenium爬取豆瓣电影《穿靴子的猫2》影评数据教程
由于错误提示显示ChromeDriver只支持Chrome 100版本,而当前使用的Chrome浏览器版本为96.0.4664.93,因此需要更新Chrome浏览器或下载对应版本的ChromeDriver。
本文将详细介绍使用Selenium库抓取豆瓣电影《穿靴子的猫2》所有页面的影评数据,包括评论人名称、评论时间和评论内容。
1. 准备工作
- 确保已经安装了Python和Selenium库。
- 下载与Chrome浏览器版本匹配的ChromeDriver,并将其添加到系统环境变量中。
2. 代码示例
Step 1: 点击进入电影全部影评
from selenium import webdriver
# 打开Chrome浏览器
browser = webdriver.Chrome()
# 打开豆瓣电影《穿靴子的猫2》影评页面
url = 'https://movie.douban.com/subject/25868125/'
browser.get(url)
# 点击'全部影评'按钮进入全部影评页面
all_review_btn = browser.find_element_by_class_name('reviews')
all_review_btn.click()
Step 2: 抓取第一页的评论人名称、评论时间以及评论
from bs4 import BeautifulSoup
import time
# 等待页面加载完成
time.sleep(3)
# 获取第一页评论列表
url = 'https://movie.douban.com/subject/25868125/comments?start=0&limit=20&status=P&sort=new_score'
browser.get(url)
# 解析评论数据
html = browser.page_source
soup = BeautifulSoup(html, 'html.parser')
comment_list = soup.find_all('div', class_='comment-item')
for comment in comment_list:
# 获取评论人名称
name = comment.find('span', class_='comment-info').find('a').text.strip()
# 获取评论时间
time = comment.find('span', class_='comment-time').text.strip()
# 获取评论内容
content = comment.find('span', class_='short').text.strip()
# 输出评论数据
print(name, time, content)
3. 抓取全部页面评论数据
以上代码仅抓取了第一页的评论数据,如果需要抓取全部页面的评论数据,可以通过循环实现翻页并抓取数据。
# ... 其他代码 ...
# 翻页并抓取所有页面评论数据
for page in range(1, 100): # 假设最多100页
url = f'https://movie.douban.com/subject/25868125/comments?start={page * 20}&limit=20&status=P&sort=new_score'
browser.get(url)
# ... 解析评论数据 ...
4. 注意事项
- 为了避免被网站封禁IP,需要控制访问频率,例如在每次抓取评论数据后,等待一段时间再进行下一步操作。
- 可以使用代理服务器来隐藏自己的IP地址,降低被封禁的风险。
- 如果遇到无法抓取数据的情况,可以检查代码是否正确,以及目标网站是否进行了反爬虫措施。
总结
本文介绍了使用Selenium库抓取豆瓣电影《穿靴子的猫2》所有页面的影评数据的方法,并提供了详细的代码示例和注意事项。希望本文能够帮助大家学习使用Selenium库进行网络爬虫。
原文地址: https://www.cveoy.top/t/topic/oBhX 著作权归作者所有。请勿转载和采集!