python - ejemplos - Error-Error de Urlopen[Errno 8]_ssl.c: 504: EOF se produjo en violación del protocolo, se necesita ayuda
urllib2 python ejemplos (2)
Mi objetivo es extraer el html de todos los enlaces en la primera página después de ingresar el término de búsqueda de Google. Trabajo detrás de un proxy así que este es mi enfoque.
1. Primero usé mecanizar para ingresar el término de búsqueda en la forma, he establecido los proxies y los robots correctamente.
2.Después de extraer los enlaces, he usado un abridor usando urllib2.ProxyHandler globalmente, para abrir las urls individualmente.
Sin embargo, esto me da este error. No es capaz de resolverlo.
urlopen error [Errno 8] _ssl.c:504: EOF occurred in violation of protocol
En lugar de copiar y editar módulos de biblioteca de Python, puede aplicar el parche de monos a ssl.wrap_socket () en el módulo ssl anulando el parámetro de palabra clave ssl_version. El siguiente código se puede usar tal cual. Coloque esto al comienzo de su programa antes de realizar cualquier solicitud.
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)
Es un error conocido, sin embargo, algunas soluciones se mencionan en los comentarios de este enlace. Véalos, puede ser útil para usted, URL de error .