【Python爬虫】爬取豆瓣TOP250电影信息(详细注释)

**

Python爬虫获取豆瓣TOP250电影信息并存入Excel表格

**

import requests  # 导入requests库,用于发送HTTP请求
from bs4 import BeautifulSoup  # 从bs4库中导入BeautifulSoup,用于解析HTML内容
import pandas as pd  # 导入pandas库,用于数据处理


def fetch_movie_info(url):  # 定义一个函数,用于获取电影信息
    headers = {  # 设置请求头,模拟浏览器访问
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
    response = requests.get(url, headers=headers)  # 发送GET请求到指定的URL
    soup = BeautifulSoup(response.text, 'html.parser')  # 使用BeautifulSoup解析返回的HTML内容

    movies = soup.find('ol', class_='grid_view').find_all('li')  # 查找包含所有电影信息的列表元素
    movie_data = []  # 创建一个空列表,用于存储电影数据

    for movie in movies:  # 遍历每一个电影元素
        title = movie.find('span', class_='title').text  # 提取电影名称
        rating = movie.find('span', class_='rating_num').text  # 提取电影评分
        people = movie.find('div', class_='star').find_all('span')[-1].text[:-3]  # 提取评价人数
        link = movie.find('a')['href']  # 提取电影链接
        image = movie.find('img')['src']  # 提取电影图片链接
        movie_data.append([title, rating, people, link, image])  # 将电影数据添加到列表中

    return movie_data  # 返回电影数据列表


if __name__ == '__main__':  # 如果当前脚本是主程序,则执行以下代码
    base_url = 'https://movie.douban.com/top250?start='  # 豆瓣电影Top 250的基础URL
    all_movies = []  # 创建一个空列表,用于存储所有页面的电影数据

    for i in range(0, 250, 25):  # 循环遍历所有页面,步长为25
        url = base_url + str(i)  # 构造当前页面的URL
        all_movies.extend(fetch_movie_info(url))  # 调用函数获取当前页面的电影信息,并添加到总列表中

    # 创建DataFrame对象,并指定列名
    df = pd.DataFrame(all_movies, columns=['电影名称', '评分', '评价人数', '链接', '图片'])
    # 将DataFrame保存到Excel文件
    df.to_excel('douban_top250_movies.xlsx', index=False)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值