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

Desenvolvendo web crawler/scraper com Python

Notas do Editor

  • #3 http://www.google.com/insidesearch/howsearchworks/thestory/