- При попытке получить некоторые сайты requests.get() выдает ошибки
- 1 ответ 1
- Всё ещё ищете ответ? Посмотрите другие вопросы с метками python python-3.x requests или задайте свой вопрос.
- Похожие
- Подписаться на ленту
- Не работает модуль Requests
- Почему библиотека requests не работает при проверке статуса кода в Python?
- Requests в Python – Примеры выполнения HTTP запросов
- Содержание статьи
- Python установка библиотеки requests
- Библиотека requests в Python. Обработка ошибок, подготовка к парсингу
- Обработка ошибок при использовании библиотеки requests
- Скачивание страницы
При попытке получить некоторые сайты requests.get() выдает ошибки
проблема такая. Пытаюсь получить какой-либо сайт используя requests.get() . Но с одними сайтами всё прекрасно работает(github.com), а с другими(vk.com, telegram.org, stackoverflow.com) происходит такая мистика. Буквально неделю назад ничего такого не было. Обновил библиотеки, использовал разные подключения интернета, но всё равно не заработало. Помогите разобраться, пожалуйста.
1 ответ 1
Ошибка 10060 означает, что ваш скрипт не смог подключиться к удаленному хосту. Обычно это возникает в результате сетевых проблем или неправильных настроек, например прокси.
Попробуйте для начала подключиться с консоли используя телнет либо запросить у провайдера, если блокирует данный адрес.
Так как ваш запрос полностью валидный, то дело не в коде.
Всё ещё ищете ответ? Посмотрите другие вопросы с метками python python-3.x requests или задайте свой вопрос.
Похожие
Подписаться на ленту
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.10.19.40496
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Источник
Не работает модуль Requests
Запускаю и вижу перед собой стену текста:
Traceback (most recent call last):
File «C:\Program Files\Python36\lib\site-packages\urllib3\connectionpool.py», line 601, in urlopen
chunked=chunked)
File «C:\Program Files\Python36\lib\site-packages\urllib3\connectionpool.py», line 346, in _make_request
self._validate_conn(conn)
File «C:\Program Files\Python36\lib\site-packages\urllib3\connectionpool.py», line 850, in _validate_conn
conn.connect()
File «C:\Program Files\Python36\lib\site-packages\urllib3\connection.py», line 326, in connect
ssl_context=context)
File «C:\Program Files\Python36\lib\site-packages\urllib3\util\ssl_.py», line 329, in ssl_wrap_socket
return context.wrap_socket(sock, server_hostname=server_hostname)
File «C:\Program Files\Python36\lib\ssl.py», line 407, in wrap_socket
_context=self, _session=session)
File «C:\Program Files\Python36\lib\ssl.py», line 814, in __init__
self.do_handshake()
File «C:\Program Files\Python36\lib\ssl.py», line 1068, in do_handshake
self._sslobj.do_handshake()
File «C:\Program Files\Python36\lib\ssl.py», line 689, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File «C:\Program Files\Python36\lib\site-packages\requests\adapters.py», line 440, in send
timeout=timeout
File «C:\Program Files\Python36\lib\site-packages\urllib3\connectionpool.py», line 639, in urlopen
_stacktrace=sys.exc_info()[2])
File «C:\Program Files\Python36\lib\site-packages\urllib3\util\retry.py», line 388, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host=’yandex.ru’, port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError(1, ‘[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)’),))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File «C:\Users\agrigorev\Desktop\main.py», line 2, in
response = requests.get(‘https://yandex.ru/’)
File «C:\Program Files\Python36\lib\site-packages\requests\api.py», line 72, in get
return request(‘get’, url, params=params, **kwargs)
File «C:\Program Files\Python36\lib\site-packages\requests\api.py», line 58, in request
return session.request(method=method, url=url, **kwargs)
File «C:\Program Files\Python36\lib\site-packages\requests\sessions.py», line 508, in request
resp = self.send(prep, **send_kwargs)
File «C:\Program Files\Python36\lib\site-packages\requests\sessions.py», line 618, in send
r = adapter.send(request, **kwargs)
File «C:\Program Files\Python36\lib\site-packages\requests\adapters.py», line 506, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host=’yandex.ru’, port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError(1, ‘[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)’),))
Что это такое? Я не могу понять, о чем мне говорит Питон. Заметил что если протокол HTTP, то работает
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Источник
Почему библиотека requests не работает при проверке статуса кода в Python?
Писал скрипт, который проверяет статус сервера в таком варианте все работало:
> python3 requester.py ya.ru
[200] Все хорошо: https://ya.ru
> python3 requester.py ya.ru/bgdtrubi
[404] Страница отсутствует: https://ya.ru/bgdtrubi
Но код ответа не всегда соответствует заданным, по этому я отредактировал, что бы понимать какой код возвращает скрипт:
При вводе существующего домена вывод терминала такой:
> python3 requester.py ya.ru
[200] Все хорошо: ya.ru
> python3 requester.py ya.ru/bgdtrubi
[404] Не все хорошо: ya.ru/bgdtrubi
Traceback (most recent call last):
File «/home/usr/.local/lib/python3.6/site-packages/urllib3/connection.py», line 157, in _new_conn
(self._dns_host, self.port), self.timeout, **extra_kw
File «/home/usr/.local/lib/python3.6/site-packages/urllib3/util/connection.py», line 61, in create_connection
for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
File «/usr/lib/python3.6/socket.py», line 745, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File «/home/usr/.local/lib/python3.6/site-packages/urllib3/connectionpool.py», line 672, in urlopen
chunked=chunked,
File «/home/usr/.local/lib/python3.6/site-packages/urllib3/connectionpool.py», line 387, in _make_request
conn.request(method, url, **httplib_request_kw)
File «/usr/lib/python3.6/http/client.py», line 1264, in request
self._send_request(method, url, body, headers, encode_chunked)
File «/usr/lib/python3.6/http/client.py», line 1310, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File «/usr/lib/python3.6/http/client.py», line 1259, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File «/usr/lib/python3.6/http/client.py», line 1038, in _send_output
self.send(msg)
File «/usr/lib/python3.6/http/client.py», line 976, in send
self.connect()
File «/home/usr/.local/lib/python3.6/site-packages/urllib3/connection.py», line 184, in connect
conn = self._new_conn()
File «/home/usr/.local/lib/python3.6/site-packages/urllib3/connection.py», line 169, in _new_conn
self, «Failed to establish a new connection: %s» % e
urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File «/home/usr/.local/lib/python3.6/site-packages/requests/adapters.py», line 449, in send
timeout=timeout
File «/home/usr/.local/lib/python3.6/site-packages/urllib3/connectionpool.py», line 720, in urlopen
method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
File «/home/usr/.local/lib/python3.6/site-packages/urllib3/util/retry.py», line 436, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=’yqqqqa.ru’, port=80): Max retries exceeded with url: / (Caused by NewConnectionError(‘: Failed to establish a new connection: [Errno -2] Name or service not known’,))
During handling of the above exception, another exception occurred:
Источник
Requests в Python – Примеры выполнения HTTP запросов
Библиотека requests является стандартным инструментом для составления HTTP-запросов в Python. Простой и аккуратный API значительно облегчает трудоемкий процесс создания запросов. Таким образом, можно сосредоточиться на взаимодействии со службами и использовании данных в приложении.
Содержание статьи
В данной статье представлены наиболее полезные особенности requests. Показано, как изменить и приспособить requests к различным ситуациям, с которыми программисты сталкиваются чаще всего. Здесь также даются советы по эффективному использованию requests и предотвращению влияния сторонних служб, которые могут сильно замедлить работу используемого приложения. Мы использовали библиотек requests в уроке по парсингу html через библиотеку BeautifulSoup.
Ключевые аспекты инструкции:
- Создание запросов при помощи самых популярных HTTP методов;
- Редактирование заголовков запросов и данных при помощи строки запроса и содержимого сообщения;
- Анализ данных запросов и откликов;
- Создание авторизированных запросов;
- Настройка запросов для предотвращения сбоев и замедления работы приложения.
В статье собран оптимальный набор информации, необходимый для понимания данных примеров и особенностей их использования. Информация представлена в доступной в форме. Тем не менее, стоит иметь в виду, что для оптимального разбора инструкции потребуются хотя бы базовые знания HTTP.
Далее будут показаны наиболее эффективные методы использования requests в разрабатываемом приложении.
Python установка библиотеки requests
Для начала работы потребуется установить библиотеку requests . Для этого используется следующая команда.
Источник
Библиотека requests в Python. Обработка ошибок, подготовка к парсингу
Всем привет на моем канале Old Programmer . Тематическое оглавление его найдете здесь . А здесь все мои материалы о языке программирования Python .
Продолжаем работать с библиотекой requests. Сегодня рассмотрим обработку ошибок, ну подготовку к самому главному — парсингу.
Обработка ошибок при использовании библиотеки requests
При работе с запросами к сетевым ресурсам особенно важна обработка ошибок. При работе с библиотекой requests обработка представляет собой сочетание использования исключений и возвращаемого значения status_code . Пример такой обработки представлен в программе rq40006.py .
Замечание
Ошибка таймаута возникает в том случае, если мы определим соответствующий параметр: requests.get(url, timeout=5) — указан промежуток 5 секунд.
Мы сделали несколько шагов (отбрасывая пока побочную информацию, к которой мы обратимся позднее), позволяющих обратиться к главной задаче: анализ содержимого.
Скачивание страницы
Для того, чтобы анализировать полученную страницу, удобнее всего сохранить ее на диске, а потом уже применять те или иные способы анализа. В программе rq40007.py осуществляется запрос к указанной странице и текст этой страницы сохраняется на диске. Мы, кстати, можем посмотреть ее и с помощью браузера. Ну в общем то все готово для анализа.
Ну еще один важный вопрос. Некоторые сайты распознают в вашем запросе бота. Обойти это можно если представиться, например, браузером. Для этого нужно указать User-Agent ( rq40008.py ).
Ну пока все, до скорого свидания на моем канале Old Programmer . Не забудьте подписываться и ставить ‘ЛАЙК’.
Источник