scrapy 无法找到对API数据进行分页的方法

rwqw0loc  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(133)

我正在尝试使用Python 3 requests.get通过它的API从this page中检索数据。我对使用here中找到的数据检索数据并将整个表保存到我自己的JSON中感兴趣。
这是我目前的尝试

source = requests.get("https://www.mwebexplorer.com/api/mwebblocks").json()
 with open('mweb.json', 'w') as json_file:
    json.dump(source, json_file)

我已经看过了关于分页的其他问题,所有其他问题都可以通过编写for循环来遍历所有页面,但在我的特定情况下,当单击next转到下一页数据时,链接不会改变。我也不能使用scrapy的xpath方法来单击next,因为整个表及其分页不能通过HTML或XML访问。
有什么东西我可以添加到我的请求。得到包括表的所有页面的整个JSON?

ddhy6vgd

ddhy6vgd1#

根据你所使用的浏览器,它可能是不同的,但在chrome中,我可以在devtools的network选项卡中查看请求的全部细节。这表明它实际上是一个POST请求,而不是GET请求。如果你查看有效负载,你可以看到一堆键值对,包括startlength
所以,试着像这样

requests.post("https://www.mwebexplorer.com/api/mwebblocks", data={"start": "50", "length": "50"})

或类似的内容。您可能需要包含表单数据的其他部分,具体取决于您得到的响应。
请记住,网站通常不喜欢当你试图这样刮他们。

相关问题