阅读(640) (0)

scrapy 2.3 复制请求

2021-06-16 14:39:52 更新

有时,我们需要以Web浏览器执行请求的方式重新生成请求。

使用 network tool 查看Web浏览器如何执行所需的请求,并尝试用scrapy重新生成该请求。

它可能足以产生 Request 使用相同的HTTP方法和URL。但是,您可能还需要复制body、headers和form参数(请参见 FormRequest )关于那个请求。

因为所有主流浏览器都允许在中导出请求 cURL 格式,Scrapy合并的方法 from_curl() 生成等价物 Request 从cURL命令。欲了解更多信息,请访问 request from curl 在“网络工具”部分中。

一旦得到预期的响应,您就可以 extract the desired data from it .

你可以用Scrapy复制任何请求。但是,有时复制所有必需的请求在开发人员时间内似乎不高效。如果是这样,爬行速度对你来说不是主要的问题,你也可以考虑 JavaScript pre-rendering .

如果你得到预期的答复 sometimes 但并非总是这样,问题可能不是您的请求,而是目标服务器。目标服务器可能有问题、过载或 banning 你的一些要求。

注意,要将cURL命令转换为Scrapy请求,可以使用 curl2scrapy .