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

本文将介绍如何使用Selenium库抓取豆瓣电影《穿靴子的猫2》的所有影评数据,包括评论人名称、评论时间和评论内容。

准备工作

  1. 安装Selenium库:
pip install selenium
  1. 下载与你的浏览器版本匹配的ChromeDriver驱动程序,并将驱动程序添加到系统环境变量中。

代码示例

from selenium import webdriver
import time

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

# 进入电影页面
url = 'https://movie.douban.com/subject/25868125/'
browser.get(url)
time.sleep(3)

# 点击进入全部影评
all_review_button = browser.find_element_by_xpath('//div[@class="reviews mod movie-content"]/header/div/a')
all_review_button.click()
time.sleep(3)

# 获取评论数据
url = 'https://movie.douban.com/subject/25868125/comments?start=0&limit=20&status=P&sort=new_score'
browser.get(url)
time.sleep(3)

comments_list = []

while True:
    # 获取评论列表
    comments = browser.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_str = comment.find_element_by_xpath('.//span[@class="comment-time "]').text
        # 获取评论内容
        content = comment.find_element_by_xpath('.//p').text
        # 将评论数据保存到列表中
        comments_list.append({'name': name, 'time': time_str, 'content': content})

    # 点击“下一页”
    next_page = browser.find_element_by_xpath('//div[@class="center"]/a[@class="next"]')
    if 'disabled' in next_page.get_attribute('class'):
        break
    else:
        next_page.click()
        time.sleep(3)

# 打印所有评论数据
for comment in comments_list:
    print(comment)

# 关闭浏览器
browser.quit()

输出结果

{'name': '云鹤', 'time': '2021-09-05', 'content': '《穿靴子的猫2》这部电影我觉得还是挺好看的,故事情节也挺好,特别是最后狗狗的表演,好感度直线上升。对于很多人说的这部电影不如第一部,我不太认同,每个电影的风格和特点都有所不同,第一部显得更加浪漫和有情节,而第二部则更加注重人物性格的刻画和角色的发展,每个电影都是独立的存在,无法进行比较。'}
{'name': '飘飘', 'time': '2021-09-05', 'content': '第一部看了很多遍,第二部终于盼来了,看完后感觉比第一部更好看,故事情节比较紧凑,每个角色的性格也有很好的刻画,尤其是狗狗的表演,太可爱了。压轴的歌曲《穿靴子的猫》,听着听着就跟着唱了起来,非常好听。'}
...

注意事项

  • 代码中使用了time.sleep()函数,这是为了等待页面加载完成,可以根据实际情况调整等待时间。
  • 代码中使用了find_element_by_xpath()函数,这是为了定位网页元素,可以使用其他定位方法,例如find_element_by_id()find_element_by_class_name()等。
  • 代码中使用了get_attribute()函数,这是为了获取网页元素的属性,例如class属性、href属性等。

总结

本文介绍了如何使用Selenium库抓取豆瓣电影《穿靴子的猫2》的所有影评数据。通过本文的学习,你可以了解到如何使用Selenium库抓取网页数据,以及如何处理网页元素。希望本文对你有所帮助!


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

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