Подтвердить что ты не робот

Ошибка - ошибка urlopen [Errno 8] _ssl.c: 504: EOF произошел с нарушением протокола, нужна помощь

Моя цель - извлечь html из всех ссылок на первой странице после входа в поисковый запрос google. Я работаю за прокси-сервером, поэтому это мой подход.

1.I сначала использовал механизацию, чтобы ввести поисковый запрос в форме, ive правильно установил прокси и роботы.

2. После извлечения ссылок Ive использовал открыватель, используя urllib2.ProxyHandler глобально, чтобы открыть URL-адреса индивидуально.

Однако это дает мне эту ошибку. Не в состоянии понять это.

urlopen error [Errno 8] _ssl.c:504: EOF occurred in violation of protocol
4b9b3361

Ответ 1

Вместо копирования и редактирования модулей библиотеки Python вы можете обезвредить ssl.wrap_socket() в модуле ssl, переопределив параметр ключевого слова ssl_version. Следующий код может использоваться как есть. Поместите это в начале вашей программы перед выполнением любых запросов.

import ssl
from functools import wraps
def sslwrap(func):
    @wraps(func)
    def bar(*args, **kw):
        kw['ssl_version'] = ssl.PROTOCOL_TLSv1
        return func(*args, **kw)
    return bar

ssl.wrap_socket = sslwrap(ssl.wrap_socket)

Ответ 2

Его известная ошибка, как-то некоторые решения для нее упоминаются в комментариях к этой ссылке. Смотрите их, может быть полезно для вас, URL-адрес ошибки.