Golang’ский штурвал
174 subscribers
118 photos
17 videos
21 links
По всем вопросам - @deanon45
Download Telegram
"Пошли нахуй" - ловко парировал создатель языка С++
🤣1
Вчера в сеть слили 44,7 ГБ исходного кода сервисов «Яндекс», но компания утверждает, что код устаревший. Но самое интересное в том, что там есть списки фраз, которыми люди выключают Алису
👀7
Сына, ты тут работаешь? Не далеко ездить?
🤣4
Tor как прокси для парсера

Привет. Хотелось бы рассказать о своем опыте парсинга и обхода блокировок запросов на стороне сервера, как я быстро смог применить tor как прокси для работы на локальной тачке. Скажу заранее, это скорее не промышленное решение, а разовая полумера, которой достаточно для небольших решений в рамках ознакомления. Так же заранее скажу: я не являюсь гуру парсинга и я уверен, что ты профессионал и знал об этом способе с 3-х лет и использовал его еще на перфокартах. Я просто хочу показать новичкам как можно быстро решить эту проблему и не мучаться с покупкой прокси, если тебе всего лишь надо пару раз потестить скрипт.

Не так давно я занимался парсингом различных сайтов и крутил их в Pandas. Спустя время заметил, что информация приходила неполная, а иногда запросы бесконечно “висели” в ожидании ответа. Так как я не хотел покупать прокси ради пары запусков скрипта, я начал гуглить в интернете альтернативы. Спустя несколько первых ссылок в гугле я заметил упоминание tor браузера, решил помучать его и посмотреть что он может мне дать.

Для начала я поставил tor:


brew install tor


Далее нагуглил варианты как можно достучаться до него. Находил множество вариантов по типу “найдите конфиг тора, пропишите туда over9999 SocksPort и потом стучитесь в цикле на каждый по очереди чтобы айпишник менялся, или вообще вот несколько питон библиотек которые вроде как что-то делают подобное за тебя”
В действительности все оказалось гораздо проще:
1) Запускаете тор командой


tor --SocksPort 9051 --NewCircuitPeriod 10 --MaxCircuitDirtiness 1


2) Используете его как прокси в отправке запроса:


proxy_conf = "socks5://127.0.0.1:" + "9051"
options_proxy = {"http": proxy_conf}
url = 'http://httpbin.org/ip'
res = requests.get(url, proxies=options_proxy).text


3) Готово! Теперь у вас локально поднят и настроен небольшой прокси, который меняет айпи каждые 10 секунд.
👀2