/ / Hermosa raspado de espuma: estoy confundido - python, beautifulsoup

BeautifulSoup raspado: estoy confundido - python, beautifulsoup

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

De 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")