1

Тема: Використання Tor зі Scrapy

У одній книжці я знайшов ось такий варіант використання Tor за допомогою Pysocks:

import socks
import socket
from urllib.request import urlopen


socks.set_default_proxy(socks.PROXY_TYPE_SOCKS5, "localhost", 9150)
socket.socket = socks.socksocket
print(urlopen('http://icanhazip.com').read())

Я, звісно, можу все це запхати в клас «павука» Scrapy десь в ініт, але чи варто саме так робити?
На гіті Pysocks пишуть, що це monkeypatching і взагалі антипатерн.
Як краще налаштувати анонімне вебнишпорення (web scraping)?
Просто не хочеться, щоб мене забанили по ІР на якомусь потрібному мені сайті
лише тому, що я десь перестарався із вебнишпоркою.

2 Востаннє редагувалося frz (12.02.2026 16:29:42)

Re: Використання Tor зі Scrapy

не хочеться, щоб мене забанили по ІР на якомусь потрібному мені сайті
лише тому, що я десь перестарався із вебнишпоркою

Ну пул айпі які відносяться до tor - теж підозрілий і зазвичай триґерить запит про вибирання світлофорів, велосипедів та інших бананів з яблуками. Думаю що без ретраїв з таймаутами випадкової тривалості і перебору різних айпішок для нишпорок (tor + анонімні проксі) не обійтись. Це я з досвіду колеги який сидів поруч і цим займався, сам глибоко не вникав.

3

Re: Використання Tor зі Scrapy

frz написав:

не хочеться, щоб мене забанили по ІР на якомусь потрібному мені сайті
лише тому, що я десь перестарався із вебнишпоркою

Ну пул айпі які відносяться до tor - теж підозрілий і зазвичай триґерить запит про вибирання світлофорів, велосипедів та інших бананів з яблуками. Думаю що без ретраїв з таймаутами випадкової тривалості і перебору різних айпішок для нишпорок (tor + анонімні проксі) не обійтись. Це я з досвіду колеги який сидів поруч і цим займався, сам глибоко не вникав.

Tor не підійде, бо там зазвичай низький рейтинг IP, а треба ще й перевіряти будь-який безкоштовний ІР,
щоб уже був не забанений абощо.
У документації до Scrapy знайшов гарні поради щодо уникнення банів.
А загалом там треба міняти user agent і ІР на випадкові, гендлюючи ними мов наперстками,
додатково рандомізуючи швидкість обробки і пропускати все це через Playwright або Selenium,
щоб було схоже наче людина через браузер працює.
Для тестів і навчання, звісно, підійдуть і безкоштовні ІР,
але якщо братися серйозно доведеться купувати різні платні підписки.