爬取豆瓣网(最新榜)https://movie.douban.com/chart

最先开始记得要安装软件包,如果是虚拟环境下有【.venv】的文件夹建立的项目,就要去终端,快捷键【Alt+F12】去下载安装包

pip install selenium webdriver-manager pandas openpyxl pillow requests

 

 安装好之后这是完整的代码

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
import pandas as pd
import time

# 初始化Selenium驱动
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))

# 访问网页
url = 'https://movie.douban.com/chart'
driver.get(url)

# 使用XPath提取数据
# 找到所有电影条目
elements = driver.find_elements(By.XPATH, '//*[@id="content"]/div/div[1]/div/div/table')

# 创建一个列表来存储电影信息
data = []

count=0   #在前面计数0打印出来方便看数字
for element in elements:
    # 提取电影标题
    标题 = element.find_element(By.XPATH, './/tr/td[2]/div/a').text
    # 提取电影简介
    简介 = element.find_element(By.XPATH, './/tr/td[2]/div/p').text
    # 提取电影评分
    评分 = element.find_element(By.XPATH, './/tr/td[2]/div/div').text
    # 点击进入电影详情页面
    element.find_element(By.XPATH, './/tr/td[2]/div/a').click()
    count = count + 1
    # 等待页面加载
    time.sleep(0)

    try:
        # 提取上映时间
        上映时间 = driver.find_element(By.XPATH, '//*[@id="info"]/span[@property="v:initialReleaseDate"]').text
        主演 = driver.find_element(By.XPATH, '//*[@id="info"]/span[3]/span[2]').text
        剧情 = driver.find_element(By.XPATH, '//*[@id="link-report-intra"]/span').text
    except:
        上映时间 = "未找到上映时间"
    print(count,标题,评分,上映时间,主演,剧情)
    # 添加到数据列表
    data.append([标题, 评分, 上映时间,主演, 简介,剧情])

    # 返回主页面
    driver.back()

    # 等待页面加载
    time.sleep(0)

# 关闭浏览器
driver.quit()

# 使用pandas保存到Excel表格
df = pd.DataFrame(data, columns=['标题', '评分' , '上映时间','主演','简介','剧情'])

# 保存到Excel文件
df.to_excel('豆瓣新片榜.xlsx', index=False)

print("数据已保存到豆瓣新片榜.xlsx")

爬取最后的效果图

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_63511363

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值