Получение html (запросов) работает только без прокси (200 против 404) / (заблокированный IP) - Python с Tor - PullRequest
0 голосов
/ 21 сентября 2018

У меня был фрагмент кода, который я попробовал пару недель назад, с тем, чтобы без проблем получить HTML-код страницы (я изучал NLP и хотел попробовать несколько вещей с заголовками).Однако теперь, когда я выполняю запрос с прокси (proxies=session.proxies), я получаю 404.Когда я опускаю proxies, все нормально (это означает, что я использую свой собственный IP, заголовки в обоих случаях идентичны) ... Может кто-нибудь помочь мне с тем, что здесь происходит?Я уверен, что IP заблокированы.Когда я использую несколько бесплатных прокси из Интернета, все в порядке.Но они супер нестабильны, и поэтому ничего нельзя сделать.Я также посмотрел на ips, которые производит этот фрагмент кода:

with Controller.from_port(port=9051) as controller:
    controller.authenticate('my_pass')
    controller.signal(Signal.NEWNYM)
    time.sleep(controller.get_newnym_wait())

2 ips работал (Нидерланды и Франция), как 20 (Австрия, Великобритания, Нидерланды (но начинается с двух ведущихцифры), Либерия, Франция (также отличающиеся двумя ведущими цифрами)), которые я пробовал до сих пор. Можно ли сказать, чтобы использовать прокси из определенных стран? Я думаю, это не сильно мне поможет.Если бы я мог циклически просматривать рабочие IP-адреса, но я где-то читал, что это невозможно.

Вот код, который предшествует приведенному выше фрагменту кода:

import requests

global session
session = requests.session()
session.proxies = {}

session.proxies['http'] = 'socks5h://localhost:9050'
session.proxies['https'] = 'socks5h://localhost:9050'

url = 'https://www.reuters.com/finance/stocks/company-news/AAPL.OQ?date=12222016'

html = requests.get(url, timeout=(120, 120), proxies=session.proxies)

print(html)

Попытка изменения пользователяагенты безрезультатны.

Также обратите внимание, что для работы вышеперечисленного необходимо this .

...