Diferencia entre revisiones de «Usuario:Lmorillas/modulo programacion/python/web scraping»
De WikiEducator
(→BeautifulSoup) |
(→Más ejemplos interesantes) |
||
(Una revisión intermedia por el mismo usuario no mostrado) | |||
Línea 35: | Línea 35: | ||
print curso.a.string, curso.a.get('href') | print curso.a.string, curso.a.get('href') | ||
</source> | </source> | ||
+ | |||
+ | === Más ejemplos interesantes === | ||
+ | * http://pythonadventures.wordpress.com/tag/beautifulsoup/ | ||
+ | * https://bitbucket.org/chemacortes/calibre-scrap/overview |
Última revisión de 12:29 29 nov 2011
¿Qué es?
Herramientas
Podemos leer una página web como si fuera un fichero
from urllib2 import urlopen doc = urlopen('http://www.cpilosenlaces.com').read()
Y procesar el texto.
Usaremos herramientas especiales.
BeautifulSoup
- http://www.crummy.com/software/BeautifulSoup
- Documentación: http://www.crummy.com/software/BeautifulSoup/documentation.html
Un ejemplo: Cursos de formación del INAEM
from BeautifulSoup import BeautifulSoup url = 'http://plan.aragon.es/MapaRec.nsf/fmrListado' # Listado cursos formación empleo ... doc = BeautifulSoup(urllib2.urlopen(url)) # mostrar documento indentado print doc.prettify() # Analizamos el doc. Los cursos están almacenados: # * en tablas (elemento td) # * que tienen clase "textoApl1" cursos = doc.findAll('td', attrs={'class': "textoApl1"}) for curso in cursos: # Imprimimos nombre y url del curso: print curso.a.string, curso.a.get('href')