Web scraping 使飞溅,刮擦和Scrapoxy一起工作

Web scraping 使飞溅,刮擦和Scrapoxy一起工作,web-scraping,scrapy,scrapy-splash,splash-js-render,Web Scraping,Scrapy,Scrapy Splash,Splash Js Render,我正在用Scrapy编写web scraper。我需要访问的一些站点需要我与它们进行交互,因此我使用Splash发出请求,它允许我这样做。这目前效果不错 为了防止我的scraper被阻塞,我希望请求通过一组代理服务器,所以我使用Scrapoxy来实现这一点 我现在的问题是,据我所知,请求的流程如下:- Scrapy->Scrapoxy->Splash->目标网站 而不是: Scrapy->Splash->Scrapoxy->目标网站 有可能解决这个问题吗 如果没有,是否可以使用任何其他无头浏览器

我正在用Scrapy编写web scraper。我需要访问的一些站点需要我与它们进行交互,因此我使用Splash发出请求,它允许我这样做。这目前效果不错

为了防止我的scraper被阻塞,我希望请求通过一组代理服务器,所以我使用Scrapoxy来实现这一点

我现在的问题是,据我所知,请求的流程如下:-

Scrapy->Scrapoxy->Splash->目标网站

而不是:

Scrapy->Splash->Scrapoxy->目标网站

有可能解决这个问题吗

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

您可以使用以下脚本:

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

Splash的
请求
有一个。你可能会习惯于将Splash和Crawlera集成在一起。我目前正在使用一些基本相似的东西。有没有办法让中间件与此设置一起工作?我对Scrapoxy黑名单中间件感兴趣。同时,你也创造了一些惊人的东西。谢谢你的努力。你好,约翰,我相信你能在卢阿做到这一点。Splash有一个on_响应事件(请参阅),您可以使用LUA发出HTTP请求,在Scrapoxy上发出HTTP POST请求。如果你知道怎么做,我很感兴趣。我将把它添加到Scrapoxy文档中!法比安。