使用Selenium库爬取豆瓣电影《穿靴子的猫2》影评数据

本文将使用Python中的Selenium库,抓取豆瓣电影《穿靴子的猫2》的所有页面影评数据。

步骤

  1. 借助Selenium库,点击进入电影全部影评

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

代码实现

from selenium import webdriver
import time

# 设置Chrome浏览器无界面模式
options = webdriver.ChromeOptions()
options.add_argument('--headless')

# 打开Chrome浏览器
driver = webdriver.Chrome(options=options)

# 进入《穿靴子的猫2》电影页面
url = 'https://movie.douban.com/subject/25868125/'
driver.get(url)

# 点击进入全部影评页面
btn_all = driver.find_element_by_xpath('//div[@id="comments-section"]/div[2]/a')
btn_all.click()

# 循环抓取影评数据
while True:
    # 获取当前页面所有影评元素
    comments = driver.find_elements_by_xpath('//div[@id="comments"]/div[@class="comment-item"]')
    
    # 循环处理每个影评元素
    for comment in comments:
        # 获取评论人名称、评论时间和评论内容
        name = comment.find_element_by_xpath('.//span[@class="comment-info"]/a[@class=""]')
        time = comment.find_element_by_xpath('.//span[@class="comment-info"]/span[@class="comment-time"]')
        content = comment.find_element_by_xpath('.//div[@class="comment"]/p')
        print(name.text, time.text, content.text)
    
    # 判断是否有下一页
    next_page = driver.find_element_by_xpath('//div[@id="paginator"]/span[@class="next"]/a')
    if 'disabled' in next_page.get_attribute('class'):
        break
    
    # 点击进入下一页
    next_page.click()
    
    # 等待1秒钟,避免访问频率过快
    time.sleep(1)

# 关闭浏览器
driver.quit()

运行以上代码,即可抓取《穿靴子的猫2》在豆瓣电影上的所有影评数据。

注意:

  • 本代码示例需要安装Selenium库,可以使用pip install selenium命令进行安装。
  • 运行代码前需要在系统中配置好Chrome浏览器驱动程序(ChromeDriver)。
  • 爬取数据时请遵守网站的Robots协议,避免过度访问导致网站封锁IP。

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

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