JSON URL有时返回空响应

2024-09-29 03:35:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在抓取一个从单个JSON文件加载产品数据的网站。我通过检查网络流量找到了json的url。在

问题是:当我跟踪JSON url时,大多数链接都会提供一个JSON结果。但是产品的JSON url中包含特殊字符,例如,返回空响应。当然,数据显示在浏览器上,但我似乎无法直接获得JSON响应。在

有什么提示吗?在

(我正在寻找一个类似的网站,以同样的方式,以便我可以张贴在这里举例)

编辑:

这里有一个例子

产品A url:https://www.boozebud.com/p/hopnationbrewingco/thedamned

WORKS:A的JSON url:https://www.boozebud.com/a/producturl/p/hopnationbrewingco/thedamned

产品B url:https://www.boozebud.com/p/àbloc/superprestigenaturalblondebeer

返回NULL:B的JSON url:https://www.boozebud.com/a/producturl/p/àbloc/superprestigenaturalblondebeer

(与我之前未回答的问题有关:scrapy: dealing with special characters in url可能需要根据这个问题进行修改)


Tags: 文件数据httpscomjsonurl产品网站
1条回答
网友
1楼 · 发布于 2024-09-29 03:35:15

在我看来,问题是报头,它似乎对至少Content-Type报头非常敏感,似乎它是在服务器内部用来解码传入的URL之类的。 尝试像这样下载请求(这是内部js正在做的)

yield Request('https://www.boozebud.com/a/producturl/p/%C3%A0bloc/superprestigenaturalblondebeer', 
              headers={"Content-Type": "application/json; charset=UTF-8"})

相关问题 更多 >