/ / urllib2 timeout - python, timeout, urllib2

tiempo de espera de urllib2 - python, tiempo de espera, urllib2

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 № 1

de 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.