Всплеск с Privoxy/Tor не работает (локальный конфликт?)

Splash не работает с Privoxy/Tor. Хотя

  • Privoxy / Tor работает в браузере.
  • Splash работает с обычным прокси. yield SplashRequest(url, self.parse_func, args={'wait': 2.5, 'proxy': 'http://a_proxy_address:port', }),
  • Scrapy без Splash работает через Privoxy. yield scrapy.Request(url, callback=self.parse_func, meta={'proxy': 'http://127.0.0.1:8118'})).

В скрипте Splash выдают ошибку 502.

Если попробуйте в браузере открыть Splash страницу localhost:8050Даем ошибку страницы: Privoxy was unable to socks5t-forward your request http://localhost:8050/ through localhost: SOCKS5 request failed

/ И т.д. / Privoxy / конфигурации:

forward-socks5 / localhost:9050 .
forward-socks4 / localhost:9050 .
forward-socks4a / localhost:9050 .
forward-socks5t / localhost:9050 .

Я также пытался добавить в /etc/privoxy/config следующая строка, но это не помогло.

forward localhost  .

1 ответ

Ваша проблема в том, что вы используете splash и передаете его прокси-серверу localhost. Когда всплеск пытается использовать 127.0.0.1:8118, это относится к самому контейнеру-разделителю, и там ничего не работает. Так что не получается.

Два возможных решения

Запустите splash в сети хоста

sudo docker run --net host scrapinghub/splash

Дай прокси IP

Если ваш ноутбук / ПК имеет 192.168.0.101 IP с роутера потом используй

yield SplashRequest(url,
self.parse_func, args={'wait': 2.5, 'proxy':
'http://192.168.0.101:8118', })
Другие вопросы по тегам