Hola nuevamente
Desconozco de antemano que estas haciendo, pero que guarda la variable 'Ruta' ????
es un Request a una pagina URL???? porque si esto es asi, todo esto:
lista.append(Ruta)
links_urlerror.append(Ruta)
etc...
Estaria mal, ya que si Ruta significa esto:
Ruta = urllib2.Request(pagina)
Estas apuntado a una instancia en una direccion en memoria virtual y no a un valor como tal. Me explico, suponte que pagina es una variable o una url escrita a mano por ti da igual:
pagina = "
www.algo.com"Ruta = urllib2.Request(pagina)
o
Ruta = urllib2.Request('
www.url.com')Recuerda que urllib2 es un modulo y Request un metodo que accepta 1 parametro, en este caso la variable pagina o la direccion url escrita por ti a mano. Que ocurre que como el parametro es desconocido internamente por el metodo Request, este apuntara a la direccion en memoria donde se encuentre ese valor (la variable pagina o la url escrita por ti a mano), Puedes darte cuenta si haces un :
print urllib2.Request('
www.url.com')Lo cual te retornaria:
<urllib2.Request instance at 0xb7c1974c>
digase que en 0xb7..etc es la direccion en memoria donde esta ubicado el valor de la variable 'pagina' o la url escrita por ti. Por ende como dicho valor hay que buscarlo en memoria ya que literalmente no esta como una constante definida dentro del metodo Request, es normal que esto:
links_urlerror.append(Ruta)
Y similares, te retornasen un mensajito no muy entendible o deseado:
Error :: [<urllib2.Request instance at 0xb7b9a6cc>]
PD: Que conste que me puedo equivocar en la afirmacion anterior, no es que sea yo muy buena con las definiciones de las cosas. Si dije una tonteria es admisible que cualquiera que entienda de POO me refute
Ahora, basandonos en lo anterior (Que no se si es correcto que conste). He hecho lo siguiente que a lo mejor te podria servir:
from urllib2 import Request, urlopen, URLError, HTTPError
import urllib2
lista = []
links_httperror = []
links_urlerror = []
links_badstatusline = []
links_IncompleteRead = []
pagina = "http://www.googlexx.com"
def web():
Ruta = urllib2.Request(pagina)
lista.append(pagina)
try:
urllib2.urlopen(Ruta)
except HTTPError, e:
links_urlerror.append(e.reason)
print "ocurrio un error :: "
print "Error :: " + str(links_urlerror)
except URLError, e:
links_urlerror.append(e.reason)
print "La UrL " + pagina + " No existe"
print "Error :: " + str(links_urlerror)
web()