+0 A favor 0 En Contra
Nov18

Screen scraping con Ruby

Screen scraping es el nombre en inglés de una técnica de programación que consiste en tomar una presentación de una información (normalmente texto, aunque puede incluir información gráfica) para, mediante ingeniería inversa, extraer los datos que dieron lugar a esa presentación. Por ejemplo:

Extraer de la página web de un diario el tiempo meteorológico previsto.

Extraer los datos originales a partir de la imagen de una gráfica elaborada.

Hacer una consulta automática a la página de gestión de nuestro banco para verificar si el saldo es       inferior a un umbral.

Extraer los datos de un informe en PDF para volcarlos en una hoja de cálculo.

En general, hay que destacar que los sistemas de los que se extrae la información no están diseñados para extraer dicha información (en algunos casos, es al contrario, como en los sistemas de captcha).

La traducción aproximada de screen scraping es raspado de pantalla.

En Ruby para poder tomar infoemcion de una pagina primero la tenemos que descargarla en un fichero temporal y luefo empezamos a sacar informacion, la toma de informacion en este caso la sacaremos con expresion regualres y empezamos :

Primero descargamos una pagina a un fichero temporal que seria "page" :

    url = "http://xml.truveo.com/rd?i=key"
uri = URI.parse(url)
page =""
open(uri) {|f|
page = f.read
}

Ahora empezamos a extraer la informacion que deseamos :

regex = Regexp.new(/"video_id": "(.*?)"/)
regex.match(page)
var_id = $1

En este ejemplo lo que estariamos buscando seria todo lo de rojo :

"video_id":"Un nombre de una pelicula"

La expresion regular devuelve el valor encontrado e $1 y esto lo pasamos a una variables para ser usado.

 


Si te gusto este artículo puedes dejar un comentario, también puedes suscribirte al canal RSS de la página o compartir este articulo por




Deja tu comentario! Comentarios

Deja tu comentario!

Estadísticas Estadísticas