gpt4 book ai didi

Scrapy-Splash 与 Tor

转载 作者:行者123 更新时间:2023-12-02 01:48:07 37 4
gpt4 key购买 nike

我已经成功使用此链接通过Tor运行Scrapy:http://pkmishra.github.io/blog/2013/03/18/how-to-run-scrapy-with-TOR-and-multiple-browser-agents-part-1-mac/

但我无法使用 Tor 运行 Splash。

在 Scrapy-settings.py 中,我定向到 polipo 的 http_proxy(8123 是 polipo 端口):

HTTP_PROXY = 'http://127.0.0.1:8123'

在 polipo.config 中,我定向到 tor(9150 是 tor 端口):

socksParentProxy = localhost:9150

diskCacheRoot=""

这非常适合 scrapy。在飞溅中它不起作用。但我不得不说splash或docker使用polipo作为http_proxy,就像scrapy-settings.py中一样。 Docker 应该以某种方式使用 polipo,并且 polipo 将定向到 tor。我怎样才能做到这一点?

我运行splash:

sudo docker run -p 5023:5023 -p 8050:8050 -p 80511 scrapinghub/splash

在 etc/default/docker 中我尝试了 docker 应该使用以下命令直接指向 polipo:

export http_proxy='http://127.0.0.1:8123'
Environment="http_proxy=http://127.0.0.1:8123"

但是我没能成功。我究竟做错了什么?谢谢:)

最佳答案

你需要

  1. 使 Tor 可从 Splash Docker 容器访问;
  2. 告诉 Splash 使用此 Tor 代理。

对于 (2),您可以使用 Splash proxy profiles或者直接在 proxy 中设置代理参数,或使用 request:set_proxysplash:on_request回调Lua脚本。例如,如果可以从 Splash Docker 容器以 tor:8123 访问 Tor,则可以执行如下请求:

http://<splash-url>:8050/render.html?url=...&proxy=socks5://tor:8123

此外,请查看 https://github.com/TeamHG-Memex/aquarium - 它设置了所有这些 - 它设置了“tor”代理配置文件,在另一个 Docker 容器中启动 Tor,并链接这些容器。要在通过 Aquarium 部署的 Splash 中使用 Tor 访问远程网站,您只需将 proxy=tor GET 参数添加到请求中即可:

http://<splash-url>:8050/render.html?url=...&proxy=tor

关于Scrapy-Splash 与 Tor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42267819/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com