Request模块实战04 —- 爬取豆瓣电影排行榜

Request模块实战04 —- 爬取豆瓣电影排行榜

需求:爬取豆瓣指定的电影类型排行榜

Request模块实战04 ---- 爬取豆瓣电影排行榜

本案例主要通过查看豆瓣网站推荐电影,通过python爬取指定类型电影排行榜上的电影信息。

需求分析:

通过对网页的分析,当我们对页面进行滚动的时候,对应的电影信息会按照评分不断的刷新出来,类似于之前的破解百度翻译,我们会发现都有局部刷新的概念,也就是ajax的应用。

爬取豆瓣电影排行信息ajax请求局部刷新

通过开发者模式,我们可以发现确实在每次滚动刷新获取电影信息的时候,都会发动一个ajax请求包,配上特定的参数,即可获取。并且同时信息也是以json的形式传输。

代码实现:

-*- coding: utf-8#  @Time    : 2020/12/13 22:37#  @Author  : ZYX#  @File    : request实战之豆瓣电影分类排行榜.py# @software: PyCharmimport requestsimport jsonif __name__ == '__main__':    # UA伪装    headers = {        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3776.400 QQBrowser/10.6.4212.400'    }    # 指定url    url = 'https://movie.douban.com/j/chart/top_list?'    # 设定处理参数    param = {        'type': '17',        'interval_id': '100:90',        'action': '',        'start': '0',    # 从数据库中取电影的起点        'limit': '20',    # 一次请求取出的限制数    }    # 发送请求    response = requests.get(url=url,params=param,headers=headers)    # 获取响应数据    list_data = response.json()    # 结果持久化    filePath = "./data/douBan.json"    with open(filePath,'w',encoding="utf-8") as fp:        json.dump(list_data,fp=fp,ensure_ascii=False)    print("douBan.json保存成功,爬取过程已完成!!!")

结果展示:

Request模块实战04 ---- 爬取豆瓣电影排行榜

Request模块实战04 ---- 爬取豆瓣电影排行榜

分析:

  • url参数处理

Request模块实战04 ---- 爬取豆瓣电影排行榜
  • *对于这里的参数我们是写死的,可以通过传入实参的形式实现动态指定电影类型爬取。优化代码如下:
设定处理参数 type = input("请输入电影类型号:") start = input("请输入爬取的电影开始:") limit = input("请输入爬取的电影信息数量:") param = {     'type': type,     # 电影类型     'interval_id': '100:90',     'action': '',     'start': start,     # 从数据库中取电影的起点     'limit': limit,    # 一次请求取出的限制数 } # 发送请求 response = requests.get(url=url,params=param,headers=headers)

Request模块实战04 ---- 爬取豆瓣电影排行榜

在这里我们设置参数为传入实参的形式,类型号13(爱情),开始爬取的电影编号为2,信息数目为2,也就是爬取两条电影信息。通过对爬取后的文件分析可以得出start参数的值是从0开始的,类似数组下标(索引)。

Request模块实战04 ---- 爬取豆瓣电影排行榜

Request模块实战04 ---- 爬取豆瓣电影排行榜

Request模块实战04 ---- 爬取豆瓣电影排行榜

Original: https://blog.51cto.com/u_15749390/5577145
Author: 阿呆小记
Title: Request模块实战04 —- 爬取豆瓣电影排行榜

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/500757/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球