【Python】爬虫入门4:获取豆瓣科幻电影排行榜
前言观察豆瓣网页发现,电影页面向下滚动会更新数据,且url不变,判断为Ajax请求:参数:源代码#!/usr/bin/env python# -*- coding: UTF-8 -*-# 需求:获取豆瓣科幻电影排行榜# noinspection PyUnresolvedReferencesimport jsonimport requestsif __name__ == '__main__':# U
·
前言
观察豆瓣网页发现,电影页面向下滚动会更新数据,且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))
结果:
更多推荐
已为社区贡献5条内容
所有评论(0)