Всплеск с 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', })