Requests get python не работает

При попытке получить некоторые сайты 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)

Читайте также:  У меня не работает вай фай dir 300

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:

Читайте также:  Как настроить plantronics k100

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 методов;
  • Редактирование заголовков запросов и данных при помощи строки запроса и содержимого сообщения;
  • Анализ данных запросов и откликов;
  • Создание авторизированных запросов;
  • Настройка запросов для предотвращения сбоев и замедления работы приложения.
Читайте также:  Не работает exe файл после pyinstaller

В статье собран оптимальный набор информации, необходимый для понимания данных примеров и особенностей их использования. Информация представлена в доступной в форме. Тем не менее, стоит иметь в виду, что для оптимального разбора инструкции потребуются хотя бы базовые знания 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 . Не забудьте подписываться и ставить ‘ЛАЙК’.

Источник

Оцените статью