通过Scrapy Splash返回图像内容

通过Scrapy Splash返回图像内容,scrapy,scrapy-spider,scrapy-splash,scrapy-pipeline,Scrapy,Scrapy Spider,Scrapy Splash,Scrapy Pipeline,我使用Scrapy Splash请求获取页面的渲染屏幕截图,但我还需要该页面上的图像。我使用管道下载这些图像,但我在想——这不是对同一图像提出两个请求吗?一次是在Splash呈现页面时,一次是在我发送下载请求时。有什么方法可以获取Scrapy Splash请求返回的图像吗?您可以启用响应主体(使用respone\u body参数或Splash.response\u body\u enabled=True),然后从HAR导出中提取图像。谢谢,这很有效。更准确地说,如果有人查这个,这里有一些代码。。

我使用Scrapy Splash请求获取页面的渲染屏幕截图,但我还需要该页面上的图像。我使用管道下载这些图像,但我在想——这不是对同一图像提出两个请求吗?一次是在Splash呈现页面时,一次是在我发送下载请求时。有什么方法可以获取Scrapy Splash请求返回的图像吗?

您可以启用响应主体(使用
respone\u body
参数或
Splash.response\u body\u enabled=True
),然后从HAR导出中提取图像。

谢谢,这很有效。更准确地说,如果有人查这个,这里有一些代码。。。您需要将
'response\u body':1,'har':1
添加到
splash\u args
中,这将为您提供json或har端点中的har数据。您知道如何获得每次返回的响应\u body吗?目前,我只是在第一次访问网站时才得到它。我想这是因为启动缓存?是的,它是因为缓存。目前无法禁用此缓存;可以使用endpoint清除它,但这只是一种变通方法。