爬取豆瓣Top250电影

本文介绍了如何爬取豆瓣Top250电影数据,包括需求分析、实现思路和源码展示。通过循环构造请求URL,利用BeautifulSoup的CSS选择器或Xpath解析页面源码,获取电影排名、名称、导演等信息,并存储到Excel文件中。作者还封装了openpyxl库,简化了Excel文件的写入操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

爬取豆瓣Top250电影数据一直是爬虫小白的入门练手项目,下面就来分享一下自己的爬取过程。

开始之前,先简单写一下需求和实现思路。

需求:

爬取豆瓣电影Top250的数据,数据包含排名、电影名称、导演、主演、上映年份、国家、电影分类、评分、评价人数、简介,将爬取结果存至Excel文件中。

实现思路:

打开浏览器访问https://movie.douban.com/top250,按下’F12’打开开发者工具,进入Network选项卡,刷新一下页面。可以看到一个名称为’top250’的请求,该请求的Response就是页面源码。点击下一页,请求变成了’top250?start=25&filter=’,再往后翻,发现每翻一页’start’参数增加25。那么,只要根据start参数循环构造请求的url,再根据需求进行源码的解析,最后将结果存入Excel文件即可完成爬取。

源码:
import requests
import re
from bs4 import BeautifulSoup
from lxml import etree
from common.wxls import Xls



'''
实现思路
1.request请求单页的源码
2.解析页面源码获取排名、电影名称、导演、主演、上映年份、国家、电影分类、评分、评价人数、简介
3.循环请求10页(豆瓣Top250电影共10页,每页25条数据)
4.保存数据至Excel中
'''

#Excel文件的列头
HEADER = ['排名','电影名称','导演','主演','上映年份','国家','电影分类','评分','评价人数','简介']
#结果数据的容器
DATA = []

def get_page(page_num):
    '''
    获取页面源码
    :param page_num:页码 0-9
    :return: 页面源码
    '''
    start = page_num * 25
    url = f'https://movie.douban.com/top250?start={start}'
    headers = {
        'Host':'movie.douban.com',
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36'
    }
    response = requests.get(url,headers=headers)
    if response.status_code == 200:
        return response.text


def parse_page_by_bs4(page):
    '''
    通过BeatifulSoup的方法选择器解析页面
    :param page: 页面源码
    :return:
    '''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值