Python爬虫实战 | (3) 爬取豆瓣电影Top250

在本篇博客中,我们将使用requests+正则表达式来爬取豆瓣电影TOP250电影榜单,获取每部电影的序号、片名、导演、编剧、主演、类型、制作国家/地区、语言、上映日期、片长、又名、豆瓣评分和剧情简介等内容。

打开豆瓣Top250,分析URL的变化:发现Top250榜总共包含10页,每页25部电影,并且每一页的URL都是有规律的,如第2页的URL是https://movie.douban.com/top250?start=25&filter=,第三页https://movie.douban.com/top250?start=50&filter=

由此可得,第n页是https://movie.douban.com/top250?start=(n-1)*25&filter=。接下来我们通过爬虫四部曲,来对其进行爬取:

首先搭建起程序的主体框架:

import requests
from requests.exceptions import RequestException
import re

def get_page(url):
    pass

def get_movie_list(html):
    pass

def get_content(movie_url):
    pass



if __name__ == '__main__':
    for i in range(10):
        url = 'https://movie.douban.com/top250?start='+str(i*25)
        #发送请求 获取响应
        html = get_page(url)
        #解析响应 获取电影列表
        movie_list = get_movie_list(html)
        #获取每部电影的详细内容
        for movie in movie_list:
            get_content(movie[1])

发送请求,获取响应:

def get_page(url):
    try:
        headers = {
            'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'
        }
        response = requests.get(url,headers=headers)
        if response.status_code==200:
            response.encoding = response.apparent_encoding
            return response.text
        return None
    except RequestException:
        return None

和之前爬取猫眼电影不同,我们需要剧情简介等内容,需要点开每部电影,获取详细信息。所以,我们首先要把页面上所有电影的链接爬下来,再逐个链接进行详细信息的爬取。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值