Sunteți pe pagina 1din 14

Diego Morocho

Scraping
Es altamente recomendable que lo datos sean accesibles en todas las formas posibles. El scraping de datos es una tcnica til para procesar informacin y ponerla de forma accesible. Scraping bsicamente recoge datos de la web, que se encuentra distribuida en pginas con lenguajes de etiquetas como HTML, y copiar dicha informacin en un formato que se pueda usar como en una base de datos, archivos planos, csv, etc.

Libreras de Python
PyQuery: Es una librera JavaScript para python, que provee un acceso rpido a los elementos HTML de una pgina. PyQuery usa el mismo concepto de Python, permitiendo el uso de la sintaxis de JQuery para encontrar elementos especficos de una cadena de HTML.

Libreras de Python (2)


Spynner & urllib2: Spynner fue construido bajo la librera mechanize y urllib2 (URL-Opening Library). Urllib2 genera la peticin HTTP y respuesta de objetos, mechanize tiene un navegador de objetos capaz de navegar entre esas peticiones y respuestas, y spinner agrega otras caractersticas especiales incluyendo llenado automtico de formularios y soporte JavaScript.

Libreras de Python (3)


Scrapemark: Aunque est algo descontinuada, sigue siendo una opcin atractiva y simple para extraccin de datos, similar a PyQuery, esta librera almacena resultados como listas de python y diccionarios que pueden ser usados en el lenguaje. Usa expresiones regulares para la tarea de anlisis.

Libreras de Python (4)


XPath es un lenguaje de consulta para seleccin de nodos de un documento XML, puede ser usada para clculo de valores como cadenas, numricos o booleanos de un xml. Permite el recorrido dentro de un rbol jerrquico xml, seleccionando nodos mediante una variedad de criterios.

Libreras de Python (5)


La sintaxis bsica de XPath es similar a la del direccionamiento de ficheros. Un camino que se inicia con '/', representa un camino absoluto hacia el elemento requerido.

Libreras de Python (6)


Scrapy es un framework para crawling y scraping

escrito en python. Es simple de usar. Se compone de tems, que definen los datos a extraer, spiders que realizan el crawling y scraping de las pginas, estos por lo general contienen la lgica de negocio con la que trabajar, extractores de enlaces y selectores que son usados en la extraccin de datos: procesan los contenidos de la respuesta HTTP en un formato legible.

Libreras de Python (7)


class MininovaSpider(CrawlSpider): domain_name = 'mininova.org' start_urls = ['http://www.mininova.org/today'] rules = [Rule(SgmlLinkExtractor(allow=['/tor/\d+']), 'parse_torrent')] def parse_torrent(self, response): x = HtmlXPathSelector(response) torrent = ScrapedItem() torrent.url = response.url torrent.name = x.x("//h1/text()").extract() torrent.description = x.x("//div[@id='description']").extract() torrent.size = x.x("//div[@id='info-left']/p[2]/text()[2]").extract() return [torrent]

Libreras de Python (8)


Beautiful Soup es una librera de python para el procesamiento de documentos HTML incluyendo un lenguaje crudo con errores de marcado como etiquetas no cerradas. Este crea un rbol para procesar las pginas que van a ser usadas para la extraccin de datos.

Libreras de Python (9)


from BeautifulSoup import BeautifulSoup import urllib2 url="http://www.utexas.edu/world/univ/alpha/" page=urllib2.urlopen(url) soup = BeautifulSoup(page.read()) universities=soup.findAll('a',{'class':'institution'}) for eachuniversity in universities: print eachuniversity['href']+","+eachuniversity.string

Consideraciones
En principio, lo publicado en la web puede ser accedido

libremente, pero por definicin, mediante el scraping se est adquiriendo los datos que no se puso a disposicin para su descarga directa - y puede haber una buena razn. Siempre es inteligente asegurarse de que lo que se est haciendo es legal y que no hay ataduras con el uso de los datos. El hecho de que los podamos conseguir, no significa que se los pueda utilizar libremente.

Es necesario primero hacer prcticas en local hasta

perfeccionar el scraping, no es recomendable el uso en entornos reales en los cuales se va a ensayar, el hecho de tener muchas peticiones al servidor puede alertar al propietario y generar sospechas o molestias, como resultado puede que se bloquee el acceso por medio de IP a nuestro equipo.

GRACIAS

S-ar putea să vă placă și