Python >> BeautifulSoup, para explorar páginas web con Python

Si estás trabajando con Python y necesitas explorar el contenido de una página web puedes usar el módulo Beautiful Soup. Dicho módulo es la herramienta perfecta para parsear páginas HTML (incluso si la página está mal formada, por ejemplo, alguna etiqueta no está cerrada). El módulo construye el árbol de etiquetas de la página HTML de tal manera que podemos extraer la información deseada de manera rápida y eficaz.

Beautiful Soup está disponible en Python 2 (2.6+) y Python 3.

A continuación muestro un ejemplo de uso de este módulo. Además de Beautiful Soup, también hago uso del módulo urllib2, que nos facilita la apertura de páginas web HTML a partir de su URL.

Primero, deberemos de descargar el módulo Beautiful Soup a través de pip:

$ pip install beautifulsoup

A continuación, el código sería el siguiente:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

#-----------------------------------------------------------------------------
# Incluimos los módulos necesarios.
#-----------------------------------------------------------------------------
from urllib2 import urlopen
from BeautifulSoup import BeautifulSoup


# Obtiene el título de una página web.
def obtener_titulo(url):

	# Descargamos la información de la página.
	soup = BeautifulSoup(urlopen(url))

	# Devolvemos únicamente el titulo de la página web.
	return soup.title.string


# Cuenta las etiquetas divs que aparecen en una página web.
def contar_divs(url):

	# Descargamos la información de la página.
	soup = BeautifulSoup(urlopen(url))

	# Vamos buscando las etiquetas divs.
	divs = 0
	for div in soup.findAll("div"):
		divs += 1

	return divs


# El usuario escribe la url
url = raw_input("url = ")

# Mostramos la información obtenida.
print obtener_titulo(url) + ': ' + str(contar_divs(url))

Algunos de los resultados obtenidos son:

El código está disponible en mi GitHub.

Etiquetado , ,

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: