Estoy usando la biblioteca urllib2 para mi código, estoy usando una gran cantidad de (urlopen) EDIT: loadurl
Tengo un problema en mi red, cuando estoy navegando por sitios, a veces mi navegador se atasca en "Conectar" a un sitio web determinado y a veces mi navegador devuelve un tiempo de espera
Mi pregunta es si utilizo urllib2 en mi código, se puede agotar el tiempo de espera cuando intento conectarme por un tiempo determinado a un determinado sitio web o el código se atascará en esa línea.
¿Sé que urllib2 puede manejar los tiempos de espera sin especificarlo en el código pero puede aplicar para este tipo de situación?
Gracias por tu tiempo
EDITAR:
def checker(self)
try:
html = self.loadurl("MY URL HERE")
if self.ip_ != html:
(...)
except Exeption, error:
html = "bad"
Respuestas
1 para la respuesta № 1de mi pequeña investigación, la urllib2.urlopen()
La función se agrega en Python 2.6
Por lo tanto, el problema del tiempo de espera debe resolverse enviando un tiempo de espera personalizado a la urllib2.urlopen
función. el código debería verse así;
response = urllib2.urlopen( "---insert url here---", None, your-timeout-value)
el your-timeout-value
parámetro es un parámetro opcional que define el tiempo de espera en segundos.
EDITAR: De acuerdo con su comentario, entendí que no necesita el código para esperar demasiado, entonces debería tener el siguiente código para no quedarse atascado;
import socket
import urllib2
socket.setdefaulttimeout(10)
10
se puede cambiar de acuerdo con una fórmula matemática relacionada con la velocidad de conexión y el tiempo de carga del sitio web.