Desenvolvendo web crawler/scraper com Python

Post on 19-Jul-2015

104 views 9 download

Transcript of Desenvolvendo web crawler/scraper com Python

Desenvolvendo web crawler/scraper com

Python

G e e k N i g h t

2

3

Web Crawler

● Spider, robôs

● Começa com uma lista de URL's para visitar. A cada URL visitada, ele identifica os hyperlinks e os guarda para visitá-los no futuro, e também copia o conteúdo da página.

● GoogleBot, Yahoo Slurp,DuckDuckBot...

4

Web Scraper

● Extrai informações de um web site.

● Relacionado com web indexing.

● Transformação de dados.

5

Trabalho de um crawler/scraper

● Abrir um link

● Cópia e/ou manipulação do dado

6

Seletores

● Xpath

● CSS Selectors

Retirado do site http://ejohn.org/blog/xpath-css-selectors/

7

import request

● Para humanos

● urllib2

8

lxml

● Uma implementação em Python das bibliotecas em C libxml2 e libxslt para parse de xml e html.

●Suporta css selector e xpath.

9

lxml

10

BeautifulSoup

11

PySpider

12

Scrapy

● Open Source framework, poderoso para crawling e scraping. Python 2.

● Suporta o uso de xpath e css selectors.

● Formatos de saída: json, csv, xml, json lines

● Há exemplos com persistência em banco.

13

Scrapy

scrapy crawl bbcnews --output results.json Retirado do site http://scraping.pro/

14

Bibliotecas em Python

● Goose

● Pyquery

Obrigada!

Roselma Mendes

rmendes@thoughtworks.com

github.com/roselmamendes