前言

观察豆瓣网页发现,电影页面向下滚动会更新数据,且url不变,判断为Ajax请求:

参数:

 

源代码

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

# 需求:获取豆瓣科幻电影排行榜

# noinspection PyUnresolvedReferences
import json
import requests

if __name__ == '__main__':
    # UA伪装:将访问对象伪装为浏览器
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36'
    }
    # 爬虫主体
    url = "https://movie.douban.com/j/chart/top_list"
    data = {
        'type': '17',
        'interval_id': '100:90',
        'action': '',
        'start': '0',
        'limit': '20'
    }
    response = requests.post(url=url, data=data, headers=headers) 
    dic_obj = response.json()  # 必须确认返回值是 json ,才可以使用 .json()
    fileName = '豆瓣科幻电影排行榜.json'

    #数据持久化
    # 方法1
    fp = open(fileName,'w',encoding='utf-8')
    json.dump(dic_obj,fp=fp,ensure_ascii=False)
    fp.close()

    # 方法2
    #with open(fileName,'w',encoding='utf-8')as fp:
    #    fp.write(json.dumps(dic_obj,indent=4))

    print(json.dumps(dic_obj,indent=4))

结果:

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐