Scraping Con Python

download Scraping Con Python

of 14

Transcript of Scraping Con Python

  • 7/22/2019 Scraping Con Python

    1/14

    Diego Morocho

  • 7/22/2019 Scraping Con Python

    2/14

    ScrapingEs altamente recomendable que lo datos sean accesiblesen todas las formas posibles. El scraping de datos es unatcnica til para procesar informacin y ponerla deforma accesible.

    Scraping bsicamente recoge datos de la web, que seencuentra distribuida en pginas con lenguajes de

    etiquetas como HTML, y copiar dicha informacin en unformato que se pueda usar como en una base de datos,archivos planos, csv, etc.

  • 7/22/2019 Scraping Con Python

    3/14

    Libreras de PythonPyQuery: Es una librera JavaScript para python, queprovee un acceso rpido a los elementos HTML de unapgina. PyQuery usa el mismo concepto de Python,permitiendo el uso de la sintaxis de JQuery paraencontrar elementos especficos de una cadena deHTML.

  • 7/22/2019 Scraping Con Python

    4/14

    Libreras de Python (2)Spynner & urllib2: Spynner fue construido bajo lalibrera mechanize y urllib2 (URL-Opening Library).Urllib2 genera la peticin HTTP y respuesta de objetos,mechanize tiene un navegador de objetos capaz denavegar entre esas peticiones y respuestas, y spinneragrega otras caractersticas especiales incluyendollenado automtico de formularios y soporte JavaScript.

  • 7/22/2019 Scraping Con Python

    5/14

    Libreras de Python (3)Scrapemark: Aunque est algo descontinuada, siguesiendo una opcin atractiva y simple para extraccin dedatos, similar a PyQuery, esta librera almacenaresultados como listas de python y diccionarios quepueden ser usados en el lenguaje. Usa expresionesregulares para la tarea de anlisis.

  • 7/22/2019 Scraping Con Python

    6/14

    Libreras de Python (4)XPath es un lenguaje de consulta para seleccin denodos de un documento XML, puede ser usada paraclculo de valores como cadenas, numricos o booleanosde un xml.

    Permite el recorrido dentro de un rbol jerrquico xml,seleccionando nodos mediante una variedad de

    criterios.

  • 7/22/2019 Scraping Con Python

    7/14

    Libreras de Python (5)La sintaxis bsica de XPath es similar a la deldireccionamiento de ficheros. Un camino que se iniciacon '/', representa un camino absoluto hacia el elementorequerido.

  • 7/22/2019 Scraping Con Python

    8/14

    Libreras de Python (6) Scrapy es un framework para crawling y scraping

    escrito en python. Es simple de usar. Se compone detems, que definen los datos a extraer, spiders querealizan el crawling y scraping de las pginas, estos porlo general contienen la lgica de negocio con la quetrabajar, extractores de enlaces y selectores que sonusados en la extraccin de datos: procesan loscontenidos de la respuesta HTTP en un formatolegible.

  • 7/22/2019 Scraping Con Python

    9/14

    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.urltorrent.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]

  • 7/22/2019 Scraping Con Python

    10/14

    Libreras de Python (8)Beautiful Soup es una librera de python para elprocesamiento de documentos HTML incluyendo unlenguaje crudo con errores de marcado como etiquetasno cerradas. Este crea un rbol para procesar las pginasque van a ser usadas para la extraccin de datos.

  • 7/22/2019 Scraping Con Python

    11/14

    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

  • 7/22/2019 Scraping Con Python

    12/14

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

    libremente, pero por definicin, mediante el scraping seest 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 esthaciendo es legal y que no hay ataduras con el uso de losdatos. El hecho de que los podamos conseguir, no significa

    que se los pueda utilizar libremente.

  • 7/22/2019 Scraping Con Python

    13/14

    Es necesario primero hacer prcticas en local hastaperfeccionar el scraping, no es recomendable el uso enentornos reales en los cuales se va a ensayar, el hechode tener muchas peticiones al servidor puede alertar alpropietario y generar sospechas o molestias, comoresultado puede que se bloquee el acceso por medio deIP a nuestro equipo.

  • 7/22/2019 Scraping Con Python

    14/14

    GRACIAS