步骤1:

首先需要安装selenium库和对应的浏览器驱动,这里以火狐浏览器为例,可以在官网下载对应的驱动:https://github.com/mozilla/geckodriver/releases

接着,使用selenium模拟点击进入全部影评:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 设置浏览器驱动路径
driver_path = 'path/to/geckodriver'

# 创建浏览器对象,启动火狐浏览器
browser = webdriver.Firefox(executable_path=driver_path)

# 打开豆瓣电影页面
url = 'https://movie.douban.com/subject/25868125/'
browser.get(url)

# 点击“全部影评”按钮
btn = WebDriverWait(browser, 10).until(
    EC.presence_of_element_located((By.LINK_TEXT, '全部影评'))
)
btn.click()

步骤2:

接下来,我们需要从第一页开始抓取评论数据。每一页的地址中,start参数表示起始位置,limit参数表示每页评论数量,status参数表示评论状态,sort参数表示排序方式。我们需要循环遍历每一页,直到抓取完所有评论。

import time

# 抓取所有评论
comments = []
start = 0
while True:
    # 构造当前页面的地址
    url = f'https://movie.douban.com/subject/25868125/comments?start={start}&limit=20&status=P&sort=new_score'
    browser.get(url)

    # 等待评论加载完成
    WebDriverWait(browser, 10).until(
        EC.presence_of_element_located((By.CLASS_NAME, 'comment-item'))
    )
    time.sleep(1)

    # 解析评论数据
    items = browser.find_elements_by_class_name('comment-item')
    for item in items:
        name = item.find_element_by_tag_name('a').text  # 评论人名称
        time_str = item.find_element_by_class_name('comment-time').get_attribute('title')  # 评论时间
        content = item.find_element_by_class_name('short').text  # 评论

        comments.append({
            'name': name,
            'time': time_str,
            'content': content
        })

    # 检查是否有下一页
    next_page = browser.find_element_by_class_name('next')
    if 'disabled' in next_page.get_attribute('class'):
        break
    else:
        start += 20

# 关闭浏览器
browser.quit()

# 输出评论数据
for comment in comments:
    print(comment)

这样,我们就成功抓取了《穿靴子的猫2》在豆瓣电影上所有影评的数据

一、使用网络爬虫技术抓取《穿靴子的猫2》在豆瓣电影上的所有页的影评数据进入火狐浏览器抓取地址:httpsmoviedoubancomsubject25868125步骤1:借助Selenium库点击进入电影全部影评步骤2:从’httpsmoviedoubancomsubject25868125commentsstart=0&limit=20&status=P&sort=new_score’地址开始抓

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

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