使Splash,Scrapy和Scrapoxy协同工作

时间:2017-02-03 09:35:42

标签: web-scraping scrapy splash scrapy-splash

我正在使用Scrapy编写网页抓取工具。我需要访问的一些站点需要我与它们进行交互,因此我使用Splash进行请求,这使我能够这样做。目前工作正常。

为了防止我的抓取工具被阻止,我希望请求通过一组代理服务器,所以我使用了Scrapoxy。

我现在遇到的问题是,据我所知,请求以下列方式流动: -

  

Scrapy - > Scrapoxy - >飞溅 - >目标网站

而不是: -

  

Scrapy - >飞溅 - > Scrapoxy - >目标网站

有可能解决这个问题吗?
如果没有,是否可以使用任何其他无头浏览器或代理IP旋转器来解决这个问题?

1 个答案:

答案 0 :(得分:0)

您可以使用此脚本:

function main(splash)
    local host = "localhost"
    local port = 8888

    splash:on_request(function (request)
       request:set_proxy{host, port}
    end)

    splash:go(splash.args.url)
    return splash:png()
end