viernes, 14 de noviembre de 2014

Web scraping con Python Facil

En esta publicación les voy a mostrar a grandes rasgos como hacer un web scraping con python y sus librerías muy fácilmente.

Primero que nada vamos a definir scraping: es una técnica utilizada mediante programas de software para extraer información de sitios web.

Bien vamos al código
En este tutorial estoy usando python 3.4 y windows 7 32bits.

Primero que nada empezaremos descargando las librerías necesarias utilizando el comando pip.
Si no sabes hacer el path en windows luego le enseñare.



Están simple como ejecutar el siguiente comando en la consola.

user> pip install requests beautifulsoup4
Con esa simple sentencia ya tendríamos instaladas las librerías necesarias para poder realizar un scraping.

Vamos a realizar el scraping sobre el sitio http://python.org/donwload , nuestro objectivo seria obtener los enlace de descarga de python para windows.

Bien ahora vamos al codigo Python.

Lo primero que debemos hacer es importar las dos librerias que utilizaremos.

import requests #importamos la libreria request
import bs4 #importamos la libreria beautifulsoup4
A continuación descagaremos el html de la pagina y la convetiremos a una estructura manejable mediante la libreria bs4
url = 'http://python.com/download' #La url en la cual trabajaremos
pagina = requests.get(url) #descagamos el sitio web (HTML)
soup = bs4.BeautifulSoup(pagina) #Traduse el html a una estructura manejable.
Ahora solo queda selecciónar la etiqueta html de la cual queremos acceder. En este caso es 'div.download-os-windows p a' mediante el uso de bs4.select lo guardamos en una lista.
downloadList = soup.select('div.download-os-windows p a') #Creamos un puntero al codigo html
Solo queda obtener los enlaces.
for href in downloadList:
  print(href.attrs.get('href')) #resultado final
Y listo ya obtuvimos los enlaces de descarga del sitio de python.

Codigo Final
import requests '''importamos la libreria request
Documentación: http://docs.python-requests.org/en/latest/'''
import bs4 '''importamos la libreria beautifulsoup4
Documentación: http://www.crummy.com/software/BeautifulSoup/bs4/doc/ '''
url = 'http://python.com/download' #La url en la cual trabajaremos
pagina = requests.get(url).text #descagamos el sitio web (HTML)
soup = bs4.BeautifulSoup(pagina) #Traduse el html a una estructura manejable.
downloadList = soup.select('div.download-os-windows p a') #Creamos un puntero al codigo html
for href in downloadList:
  print(href.attrs.get('href')) #resultado final


4 comentarios:

  1. ¿Qué versión de python estás utilizando?

    ResponderEliminar
  2. Hola, estoy utilizando la vercion 3.4 de python, Saludos.

    ResponderEliminar
  3. Hola, muy bueno el tutorial, amigo una pregunta: Y si en caso de instalar la librería, yo quisiera usarla en una aplicación portable, como le haría?

    ResponderEliminar