Estoy tratando de raspar este sitio, y quiero comprobar todas las etiquetas de anclaje.
He importado beautifulsoup 4.3.2 y aquí está mi código:
url = """http://www.civicinfo.bc.ca/bids?pn=1"""
Html = urlopen(url).read()
Soup = BeautifulSoup(Html, "html.parser")
Content = Soup.find_all("a")
Mi problema es que el Contenido siempre está vacío (es decir, Contenido = []). ¿Alguien tiene alguna idea?
Respuestas
2 para la respuesta № 1De la documentación html.parser
No es muy indulgente ante ciertas versiones de Python. Así que es probable que estés viendo un código HTML con formato incorrecto.
Lo que quieres hacer funciona si lo usas. lxml
en lugar de html.parser
De la documentación:
Dicho esto, hay cosas que puedes hacer para acelerararriba Sopa Hermosa. Si no está utilizando lxml como analizador subyacente, mi consejo es que comience. Beautiful Soup analiza documentos significativamente más rápido usando lxml que utilizando html.parser o html5lib.
Entonces el código relevante sería:
Soup = BeautifulSoup(Html, "lxml")