使用Python爬取猫眼电影TOP100

本文介绍了如何使用Python爬取猫眼电影TOP100榜单,包括设置环境、定义爬取和解析网页的函数,以及存储影片的封面图片和相关信息。解析过程利用正则表达式提取所需数据,最后将数据存储为CSV文件和本地图片。
摘要由CSDN通过智能技术生成

环境

  • Python 3.7
  • PyCharm

基本介绍

目标是爬取猫眼电影TOP100榜并将相关的信息存储到本地。

流程分析

流程图1

爬取网页

爬取网页时我们使用的是Pythonrequest模块。
我们定义一个get_one_page(url, offset) 函数,作用就是根据传入的url将网页爬取下来,并返回网页的文本内容。

import requests
def get_one_page(url, offset):
    try:
        headers = {
   
            'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36'}
        response = requests.get(url=url, headers=headers, params={
   "offset": offset})
        if response.status_code == 200:
            return response.text
            pass
        else:
            return None
            pass
        pass
    except RequestException as e:
        print("发生异常"+e.strerror)
        return None
        pass
    pass

首先伪造一个请求头headers
然后通过requests的get方法将网页内容下载下来,紧接着进行判断如果请求成功既repsonse.status_code==200,那么返回网页的文本内容。

解析网页

解析网页时,我们首先确定下我们所需要爬取的信息。

  1. 影片排名
  2. 影片封面图片
  3. 影片名称
  4. 主演
  5. 发行时间
  6. 发行地区
  7. 评分

我们解析网页的代码如下:

def parse_one_page(html):
    pattern = '<dd>.*?board-index.*?">(\d+)</i>.*?data-src="(.*?)".*?/>.*?movie-item-info.*?title="(.*?)".*?star">' + \
              '(.*?)</p>.*?releasetime">(.*?)</p>.*?integer">(.*?)</i>.*?fraction">(\d+)</i>.*?</dd>'
    regex = re.compile(pattern, re.S)
    items = regex.findall(html)
    for item in items:
        print(item)
        yield {
   
            'index':item[0],
            'thumb':get_large_thumb(item[1]),
            'title':item[2],
            'actors':item[3].strip()[3:],
            'release_time':get_release_time(item[4].strip()[5:]),
            'area':get_release_area(item[4].strip()[
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值