我正在使用刮刀从各个网站中删除优惠券代码。我正在使用python scrapy,我不得不使用启动浏览器,因为优惠券代码显示在弹出窗口中。
现在我想使用tor通过代理发送请求。但是我无法在同一个docker容器上运行tor和splash浏览器。
我在docker上运行启动:
sudo docker run -p 8050:8050 scrapinghub/splash;
有些人说要在单独的码头工人容器上使用tor和splash并连接它们。但是,我无法找到办法。
我尝试在另一个docker容器上运行tor:
sudo docker run -it -p 8118:8118 -p 9050:9050 -d dperson/torproxy
我发送的请求如下:
def start_requests(self):
url = 'http://www.example.com/some-url'
yield SplashRequest(
url,
self.parse,
endpoint='execute',
args={'lua_source': LUA_SCRIPT,
'wait': 2})
我的LUA_SCRIPT是
LUA_SCRIPT = """ function main(splash)
splash:on_request(function(request)
request:set_proxy{
host = "localhost",
port = 9050,
}
end)
splash.images_enabled = false
assert(splash:go{splash.args.url})
splash:wait(splash.args.wait)
return splash:html()
end"""
任何人都可以建议我如何使用飞溅? (没有tor,一切都很好。)
答案 0 :(得分:0)
我自己通过链接https://www.sachsenhofer.io/install-splash-use-tor-privoxy-docker-cloud-stack/
找到了解决方案任何寻找类似事物的人都可以按照上述链接。