Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 3, 2019 22:18:05

LiamJonson
Зарегистрирован: 2018-11-05
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

requests ConnectionError

привет народ.такие дела-хочу спарсить страницу адидаса "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)

что он хочет от меня,это защита какая то ,как обойти? гуглил ,но решения не нашел или нашел но непонял его

Отредактировано LiamJonson (Фев. 3, 2019 22:21:27)

Офлайн

#2 Фев. 4, 2019 15:44:11

uf4JaiD5
Зарегистрирован: 2018-12-28
Сообщения: 76
Репутация: +  4  -
Профиль   Отправить e-mail  

requests ConnectionError

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

grablab справляется:
https://grablab.org/docs/grab/quickstart.html

Офлайн

#3 Фев. 4, 2019 17:06:35

aiscy
Зарегистрирован: 2015-06-17
Сообщения: 52
Репутация: +  9  -
Профиль   Отправить e-mail  

requests ConnectionError

 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)

Офлайн

#4 Фев. 6, 2019 20:17:11

LiamJonson
Зарегистрирован: 2018-11-05
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

requests ConnectionError

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

Отредактировано LiamJonson (Фев. 6, 2019 20:17:31)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version