tutorial scraping examples beautifulsoup4 python web-scraping beautifulsoup tabular

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