Scrapy-Splash运行Tor代理

时间:2017-02-16 23:03:34

标签: scrapy scrapy-splash

我尝试构建splash的代理设置。在这里,我将Tor或Polipo端口地址分配给set_proxy,但它不起作用。我得到504错误:

 function main(splash)
            local host = "localhost"
            local port = 8123
            --local type = "SOCKS5"

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

        splash:go(splash.args.url)
        splash:wait(0.5)
        local image = assert(splash:png{render_all=true})
        return {png=image}
    end
    """

    url = 'https://www.torproject.org/'

在polipo.config中(9150是tor端口):

socksParentProxy = localhost:9150
diskCacheRoot=""
#socksProxyType = socks5

在settings.py中:

HTTP_PROXY = 'http://127.0.0.1:8123'
DOWNLOADER_MIDDLEWARES = {
    'thefork.middlewares.RandomUserAgentMiddleware': 400,
    'thefork.middlewares.ProxyMiddleware': 410,

我该如何解决这个问题,或者是否有一种更简单的方法来使用带有Tor的启动?

1 个答案:

答案 0 :(得分:1)

我认为问题出在你安装的中间件上。尝试在每个请求上手动设置代理。这就是我解决问题的方法。它尝试代理每个请求,当您向splash发送请求时,它会尝试通过代理转到您的localhost并失败。