Estoy aprendiendo a hacer raspadores web y quiero raspar TripAdvisor para un proyecto personal, agarrando el html usando urllib2. Sin embargo, me encuentro con un problema donde, utilizando el siguiente código, el html que recibo no es correcto ya que la página parece tardar un segundo en redirigirse (puede verificar esto visitando la url); en su lugar, obtengo el código de la página que inicialmente aparece brevemente.python urllib2 - ¿Espera a que la página termine de cargarse/redirigirse antes de raspar?
¿Hay algún comportamiento o parámetro para establecer para asegurarse de que la página haya terminado de cargar/redirigir completamente antes de obtener el contenido del sitio web?
import urllib2
from bs4 import BeautifulSoup
bostonPage = urllib2.urlopen("http://www.tripadvisor.com/HACSearch?geo=34438#02,1342106684473,rad:S0,sponsors:ABEST_WESTERN,style:Szff_6")
soup = BeautifulSoup(bostonPage)
print soup.prettify()
Editar: La respuesta es exhaustiva, sin embargo, al final lo que resolvió mi problema fue la siguiente: https://stackoverflow.com/a/3210737/1157283
duerma urllib generará un error? hay un redirectdirector para tales casos ... –
@DonQuestion Ningún error, acabo de obtener el html de la página que aparece brevemente antes de ser redirigido. Quiero el html de la página que aparece al final. ¿Qué es este redirectdirector, puedes elaborarlo? – Ken
si está usando urlopen, está utilizando OpenerDirector.open() mira python-docs - desafortunadamente no se explica en 2-3 palabras :-(: http://docs.python.org/library/urllib2.html? highlight = urllib2 # urllib2.OpenerDirector –