Foros del Web » Programando para Internet » Python »

Leer html de página que devuelve error 404 con urllib2.urlopen

Estas en el tema de Leer html de página que devuelve error 404 con urllib2.urlopen en el foro de Python en Foros del Web. Buenas a todos, Estoy haciendo una aplicación en Python que solicita páginas Web de un Sitio Web, y analiza el texto contenido en las páginas ...
  #1 (permalink)  
Antiguo 15/10/2011, 10:11
Avatar de jja
jja
 
Fecha de Ingreso: diciembre-2010
Ubicación: BCN
Mensajes: 47
Antigüedad: 13 años, 10 meses
Puntos: 0
Pregunta Leer html de página que devuelve error 404 con urllib2.urlopen

Buenas a todos,

Estoy haciendo una aplicación en Python que solicita páginas Web de un Sitio Web, y analiza el texto contenido en las páginas de error 404.

El problema con el que me encuentro es que si el Sitio Web devuelve un error 404, me salta la excepción de dicho error y no me deja acceder al contenido del HTML de la página:

Código:
try:
	f = urllib2.urlopen(page)
	f.close()
	return "Pagina correcta"
except urllib2.HTTPError, e:
	return e.reason
¿Sabéis como podría ver el contenido del HTML de las páginas que devuelven errores 404?

Gracias saludos!
__________________
El supremo arte de la guerra es someter al enemigo sin luchar.

Sun Tzu
  #2 (permalink)  
Antiguo 15/10/2011, 15:53
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Leer html de página que devuelve error 404 con urllib2.urlopen

Estoy usando python 2.x y me funciona perfectamente.

Código Python:
Ver original
  1. import urllib2
  2.  
  3. def getPageContent(page):
  4.     try:
  5.             f = urllib2.urlopen(page)
  6.             data = f.read()
  7.             f.close()
  8.             return data
  9.     except urllib2.HTTPError, e:
  10.             return e.reason
  11.  
  12. print getPageContent("http://whatismyip.org")

A que pagina estas tratando de acceder?
Que versión de python estas utilizando?
Que error especifico te marca?
  #3 (permalink)  
Antiguo 16/10/2011, 02:57
Avatar de jja
jja
 
Fecha de Ingreso: diciembre-2010
Ubicación: BCN
Mensajes: 47
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Leer html de página que devuelve error 404 con urllib2.urlopen

Cita:
Iniciado por razpeitia Ver Mensaje
Estoy usando python 2.x y me funciona perfectamente.

Código Python:
Ver original
  1. import urllib2
  2.  
  3. def getPageContent(page):
  4.     try:
  5.             f = urllib2.urlopen(page)
  6.             data = f.read()
  7.             f.close()
  8.             return data
  9.     except urllib2.HTTPError, e:
  10.             return e.reason
  11.  
  12. print getPageContent("http://whatismyip.org")

A que pagina estas tratando de acceder?
Que versión de python estas utilizando?
Que error especifico te marca?
Estoy usando la 2.7.1.

La página daría igual, cualquiera que produzca un error 404. El tema es que cuando se produce un error 404, y se detecta la excepción, necesito desde el bloque "except" acceder al contenido de la página f devuelta con el error 404 (pero no soy capaz). Las páginas que existen las leo perfectamente.

¿Hay alguna manera de abrir la Web con urllib2.urlopen pero ignorando los errores?

gracias saludos
__________________
El supremo arte de la guerra es someter al enemigo sin luchar.

Sun Tzu

Última edición por jja; 16/10/2011 a las 03:32
  #4 (permalink)  
Antiguo 16/10/2011, 12:15
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Leer html de página que devuelve error 404 con urllib2.urlopen

Código Python:
Ver original
  1. import urllib2
  2.  
  3. def getPageContent(page):
  4.     try:
  5.             f = urllib2.urlopen(page)
  6.             data = f.read()
  7.             f.close()
  8.             return data
  9.     except urllib2.HTTPError, e:
  10.             return e.read()
  11.  
  12. print getPageContent("http://www.wikipedia.org/xyz")
En ese caso creo que necesitas esto. O algo similar.
  #5 (permalink)  
Antiguo 17/10/2011, 14:59
Avatar de jja
jja
 
Fecha de Ingreso: diciembre-2010
Ubicación: BCN
Mensajes: 47
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Leer html de página que devuelve error 404 con urllib2.urlopen

Tan fácil como la vida misma , muchas gracias.

Ya podéis cerrar el hilo.

saludos
__________________
El supremo arte de la guerra es someter al enemigo sin luchar.

Sun Tzu

Etiquetas: 404, devuelve, html, página
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:46.