import requests
import json
if __name__ == "__main__":
url = 'https://movie.douban.com/j/search_subjects' # 指定URL
params = {
'type':'movie', 'tag':'%E5%96%9C%E5%89%A7','sort':'recommend', 'page_limit':'20',
'page_start':'0'
}
headers = {
'User Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3947.100 Safari/537.36'
} # UA伪装
response = requests.get(url=url, params=params, headers=headers) # get请求
# 获取响应数据
list_data = response.json()
fp = open('./douban.json', 'w', encoding='utf-8')
json.dump(list_data, fp=fp, ensure_ascii=False)
print('保存成功!!!')
做了python爬取豆瓣电影程序,但是一直出错
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注 我也爬过豆瓣,应该是你直接用 response.json 这个用法不对,应该将 response.text 转成 JSON:
import requests import json url="https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%83%AD%E9%97%A8&page_limit=50&page_start=0" headers = { "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36", "Referer":"https://movie.douban.com/" } response = requests.get(url,headers=headers) # loads as json result = json.loads(response.text) # get subjects subjects = result['subjects'] def itemInfo(item): info = '{},{},{},{}\r\n'.format(item['title'], item['rate'],item['url'],item['cover_x']) return info # write to file f1 = open('E:/film.log','w',encoding='utf-8') for item in subjects: print(itemInfo(item)) f1.write(itemInfo(item))
结果:
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1
悬赏问题
- ¥50 微信聊天记录备份到电脑提示成功了,但还是没同步到电脑微信
- ¥15 python怎么在已有视频文件后添加新帧
- ¥20 虚幻UE引擎如何让多个同一个蓝图的NPC执行一样的动画,
- ¥15 fluent里模拟降膜反应的UDF编写
- ¥15 MYSQL 多表拼接link
- ¥15 关于某款2.13寸墨水屏的问题
- ¥15 obsidian的中文层级自动编号
- ¥15 同一个网口一个电脑连接有网,另一个电脑连接没网
- ¥15 神经网络模型一直不能上GPU
- ¥20 wpf datagrid单元闪烁效果失灵