鱼C论坛

 找回密码
 立即注册
查看: 2519|回复: 0

[技术交流] 爬虫 request json 豆瓣热门

[复制链接]
发表于 2020-12-9 15:14:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
敲了好久的字然后帖子被吞了
裂开   
这个帖子主要是给爬虫萌新看的
希望能有帮助
如果有大佬看到的话,讲的不好的希望能指点一下
谢谢
网址  ‘https://movie.douban.com/explore ... =%E7%83%AD%E9%97%A8
import requests
import json
url = 'https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%83%AD%E9%97%A8&sort=time&page_limit=2000&page_start=0'
headers = {'User-Agent': 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.100 Safari/537.36'}
r = requests.get(url,headers=headers)
html = r.text  #获取Response对象的字符串内容
j = json.loads(html)  #将josn格式(字符串)转化为字典
movie_data = []
i = 0
for item in j["subjects"]:
    movie = {}
    movie["title"] = item["title"]
    movie["url"] = item["url"]
    movie["cover"] = item["cover"]
    movie["rate"] = item["rate"]
    movie_data.append(movie)
    print(movie)
这里不用re或者xpath的原因是因为
json1.png
所以无法直接从网页源码获取全部想要的数据
所以打开f12
我们可以找到
josn2.png
但是这里也只有20条数据
所以我们来看看它的参数
josn3.png
这里记得要加上请求头
我们可以注意到这里limit和start这两个参数
我们通过网页的刷新可以发现limit的参数就代表了显示的数据的量
start 的参数就表示了开始显示的是第几个数据
因此我们要将limit的参数改成大于所有数据的数
json4.png
就可以获取到含全部数据的json文件啦
json5.png

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-17 02:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表