Diferencia entre revisiones de «Usuario:Lmorillas/modulo programacion/python/web scraping»
De WikiEducator
(Página creada con '{{DISPLAYTITLE:Web Scraping}} ==¿Qué es?== ==Herramientas== Podemos leer una página web como si fuera un fichero <source lang="python"> from urllib2 import urlopen doc = ur…') |
(→BeautifulSoup) |
||
Línea 15: | Línea 15: | ||
==BeautifulSoup== | ==BeautifulSoup== | ||
* http://www.crummy.com/software/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''' | ||
<source lang="python"> | <source lang="python"> | ||
from BeautifulSoup import BeautifulSoup | from BeautifulSoup import BeautifulSoup |
Revisión de 05:53 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')