爬行:“查询字符串参数”和“请求负载”之间的区别

use*_*641 5 json scrapy web-scraping

我正在尝试使用 Scrapy 抓取 ajax 站点,网址是http://www.target.com/p/bounty-select-a-size-white-paper-towels-12-mega-rolls/-/A- 14920157#prodSlot=medium_1_2&term=赏金

我的目标是获取商店 ID。我通过检查 chrome 开发人员工具中的所有 XHR 请求并找到名称为 ("v1?request_type=availability&key=.....") 的请求来做到这一点,这是我想要的。

我的问题是:

  1. 在开发人员工具中,有“查询字符串参数”,它似乎是?请求 url之后的部分。还有 Request Payload 部分,它是一个 json。那么我应该使用哪一个来发送到服务器呢?如果我需要请求有效负载,我该如何发送 json 文件?

  2. 当我发送整个 url 以获取 json 时:https ://api.target.com/available_to_promise_aggregator/v1 ?request_type= availability & key =q0jGNkIyuqUTYIlzZKoCfK6ugaNGSP8h

我收到“不支持请求方法‘GET’”,所以我应该改用 POST 还是我做错了什么?

Gal*_*cio 1

正如您所猜测的,您必须将查询字符串作为 URL 的一部分发送到 后?

要在请求中包含 JSON 负载,并将请求作为 POST 请求发送,请使用methodbody该类的参数Request