首页 新闻 搜索 专区 学院

Chrome浏览器访问不到json

0
悬赏园豆:50 [待解决问题]

这个json的Preview

这是Headers的Request URL:
https://m.douban.com/rexxar/api/v2/subject_collection/movie_showing/items?os=ios&callback=jsonp1&start=0&count=8&loc_id=108288&_=1545019966859

然后我把url直接复制到浏览器访问结果如下:
;jsonp1({"msg": "invalid_request_1284", "code": 1287, "request": "GET /rexxar/v2/subject_collection/movie_showing/items", "localized_message": ""});

问题:为什么浏览器直接访问得到的结果,不同于json的原数据?

许小志的主页 许小志 | 初学一级 | 园豆:152
提问于:2018-12-17 13:26

你是访问不到他的内容,还是爬不下来数据

老鼠蟒蛇 1年前
< >
分享
所有回答(3)
0

这个是跨域请求呀。数据类型是jsonp 呀,不是json。你这个数据响应后会调用jsonp1函数。

xiaobaiskill | 园豆:1207 (小虾三级) | 2018-12-17 17:02

我是看教学视频,那老师直接把Headers的Request-Url复制到网址栏,就可以显示跟图片一样的内容。可是我就不可以。

支持(0) 反对(0) 许小志 | 园豆:152 (初学一级) | 2018-12-17 17:09

看的是python爬虫,爬豆瓣的案例,用Nexus6p模拟浏览的。

支持(0) 反对(0) 许小志 | 园豆:152 (初学一级) | 2018-12-17 17:11

@许小志: 看了一下那个地址,好像并不是跨域,你可以使用正则处理一下,去掉;jsonp1(),然后转字典。

支持(0) 反对(0) xiaobaiskill | 园豆:1207 (小虾三级) | 2018-12-17 17:16

@许小志: 直接通过 浏览器访问是get 请求呀。不是post 之类的请求。

支持(0) 反对(0) xiaobaiskill | 园豆:1207 (小虾三级) | 2018-12-17 17:18

@许小志: 豆瓣 这边关于请求,应该是做了处理了。只能指定的请求才能获取到数据

支持(0) 反对(0) xiaobaiskill | 园豆:1207 (小虾三级) | 2018-12-17 17:23

@xiaobaiskill: 可是他要用程序把字符爬出来,再用正则

支持(0) 反对(0) 许小志 | 园豆:152 (初学一级) | 2018-12-17 17:40

@许小志: 什么意思?不懂哎!

支持(0) 反对(0) xiaobaiskill | 园豆:1207 (小虾三级) | 2018-12-17 17:44

@xiaobaiskill: 就是代码来读取那个url的内容,再用正则

支持(0) 反对(0) 许小志 | 园豆:152 (初学一级) | 2018-12-17 18:00

@许小志: 爬虫都是这样的,通过URL获取全部数据,然后通过正则获取你想要的数据就可以了。我刚才又看了一下豆瓣的url又可以获取到数据了,但是重复刷了三次后就报错了,我想豆瓣为了防止爬虫获取它 的资源做了反爬虫处理。所有在请求的过程中有时有数据有时没有。你在爬取数据时最好是通过代理服务器爬取豆瓣的资源,同时再下一次获取时留有一定的间隔,否则豆瓣会认为是爬虫。

支持(0) 反对(0) xiaobaiskill | 园豆:1207 (小虾三级) | 2018-12-17 18:19

@xiaobaiskill: 我会显示400 Bad Request

支持(0) 反对(0) 许小志 | 园豆:152 (初学一级) | 2018-12-17 19:10

@许小志: 豆瓣做了反爬虫处理,请求过多的话,会被认为是爬虫程序。

支持(0) 反对(0) xiaobaiskill | 园豆:1207 (小虾三级) | 2018-12-18 09:33
0

首先你要了解什么格式是json

还有啥是jsonp

心雨纷扬 | 园豆:304 (菜鸟二级) | 2018-12-21 17:21
0

不知道博主现在有没有解决这个问题,我也是这样的情况,想请教一下博主(这种苦恼很痛苦)

禾HE | 园豆:202 (菜鸟二级) | 2020-03-30 12:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册