python - scraping - install beautifulsoup windows
BeautifulSoup: Obtener el contenido de una tabla especĂfica (3)
Este no es el código específico que necesita, solo una demostración de cómo trabajar con BeautifulSoup. Busca en la tabla quién es el id. "Tabla1" y obtiene todos sus elementos tr.
html = urllib2.urlopen(url).read()
bs = BeautifulSoup(html)
table = bs.find(lambda tag: tag.name==''table'' and tag.has_attr(''id'') and tag[''id'']=="Table1")
rows = table.findAll(lambda tag: tag.name==''tr'')
Mi aeropuerto local, desgraciadamente, bloquea a los usuarios sin IE y se ve horrible. Quiero escribir un script de Python que obtenga el contenido de las páginas de Llegada y Salidas cada pocos minutos, y mostrarlos de una manera más legible.
Mis herramientas de elección son mechanize para engañar al sitio para creer que uso IE, y BeautifulSoup para analizar la página para obtener la tabla de datos de vuelos.
Sinceramente, me perdí en la documentación de BeautifulSoup y no puedo entender cómo obtener la tabla (cuyo título conozco) de todo el documento, y cómo obtener una lista de filas de esa tabla.
¿Algunas ideas?
Solo si te importa, BeautifulSoup ya no se mantiene, y el mantenedor original sugiere una transición a lxml. Xpath debería hacer el truco muy bien.
soup = BeautifulSoup(HTML)
# the first argument to find tells it what tag to search for
# the second you can pass a dict of attr->value pairs to filter
# results that match the first tag
table = soup.find( "table", {"title":"TheTitle"} )
rows=list()
for row in table.findAll("tr"):
rows.append(row)
# now rows contains each tr in the table (as a BeautifulSoup object)
# and you can search them to pull out the times