#python #python-requests #web-crawler #tor #privoxy
Вопрос:
Я пытаюсь использовать Privoxy и Tor для поворота моего IP-адреса, чтобы очистить сайт, не получая бан по IP.
Поэтому я установил Tor с sudo apt intall tor
помощью, а затем изменил /etc/tor/torrc
файл, включив эти строки:
SocksPort 9050
ControlPort 9051
HashedControlPassword 16:A...
CookieAuthentication 1
То же самое для Privoxy sudo apt install privoxy
, а затем sudo vim /etc/privoxy/config
, где я добавил forward-socks5 / 127.0.0.1:9050 .
Затем, следуя этой статье, я создал rotate.py файл, который будет менять мой IP-адрес каждые определенные минуты. Это выглядит так:
import time
from stem import Signal
from stem.control import Controller
def main():
while True:
time.sleep(60*10)
print ("Rotating IP")
with Controller.from_port(port = 9051) as controller:
controller.authenticate(password='mylovelypassword')
controller.signal(Signal.NEWNYM)
if __name__ == '__main__':
main()
С другой стороны, я выполняю запрос python POST, чтобы получить нужные мне данные, и это выглядит так:
final_cookie = get_cookies()
url_base = 'http://...'
url_string = '...'
headers = {
...
"User-Agent": """Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36"""
}
proxies = {"http": "127.0.0.1:8118"}
data = requests.post(url_base, headers=headers, data=url_string, verify=False, proxies=proxies)
Поэтому я сначала запускаю rotate.py сценарий, а затем я запускаю свой скребок, который будет выполнять эти запросы на публикацию.
Проблема в том, что я получаю status code: 503
каждый раз. Если я просто выполню обычный запрос, такой как data = requests.post(url_base, headers=headers, data=url_string, verify=False)
он, на самом деле получит данные (200 ответов), но он будет заблокирован после определенного количества запросов.
Так что же может быть причиной того, что моя настройка Privoxy-Tor просто получает 503 ответа на ошибки? Это что-то с конфигурацией служб? Я буду очень признателен за любой совет/подсказку 🙂 Ваше здоровье!!
Комментарии:
1. Возвращает ли прокси — сервер ошибку или ее возвращает веб-сайт? 503-это ошибка на стороне сервера, и поэтому это проблема с одним из двух.