Найти - Пользователи
Полная версия: requests ConnectionError
Начало » Python для новичков » requests ConnectionError
1
LiamJonson
привет народ.такие дела-хочу спарсить страницу адидаса "https://www.adidas.ru/"
но с самого начала какой то затык ,и дело походу в сайте ,с другими ответ приходит как положено,
а тут вываливается с ошибкой-
***************
TimeoutError: Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера
——————————-
During handling of the above exception, another exception occurred:
urllib3.exceptions.ProtocolError: ('Connection aborted.', TimeoutError(10060, ‘Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера’, None, 10060, None))
———————————–
During handling of the above exception, another exception occurred:

"requests.exceptions.ConnectionError: ('Connection aborted.', TimeoutError(10060, ‘Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера’, None, 10060, None))
*****************
 import requests
url = 'https://www.adidas.ru/'
r = requests.get(url)

что он хочет от меня,это защита какая то ,как обойти? гуглил ,но решения не нашел или нашел но непонял его
uf4JaiD5
LiamJonson
это защита какая то
Да, что-то не так. Не пропускает не только requests.get, но и некоторые браузеры.

grablab справляется:
https://grablab.org/docs/grab/quickstart.html
aiscy
 import requests
url = 'https://www.adidas.ru/'
with requests.Session() as session:
    session.headers['Accept'] = 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
    session.headers['User-Agent'] = 'Mozilla/5.0 (X11; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0'
    session.get(url)
LiamJonson
aiscy
import requests
url = 'https://www.adidas.ru/'
with requests.Session() as session:
session.headers = ‘text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8’
session.headers = ‘Mozilla/5.0 (X11; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0’
session.get(url)

спасибо
aiscy
,направил что нужно искать


оказывается я даю понять серверу, что сижу питоне, отправляя такой простой запрос- это вызывает у сервера подозрения и он делает кукиш,у обычного запроса браузера есть мета информация в запросе. К счастью, эту информацию можно подделать как предложил
aiscy
или с помощью библиотек ,типа fake-useragent
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB