Scraping

Post on 05-Dec-2014

126 views 0 download

description

Ferramentas para raspagem de páginas e PDFs

Transcript of Scraping

Scraping

Vítor Baptistavitor@vitorbaptista.com

Qual o problema?

Websites

● Requer envio de algum formulário?

● Requer login?

● Funciona sem JavaScript?

Website básico

Website com formulário

Website com login

Acessando elementos específicos

● CSS Selectors (HTML)– .classe-css

– #id-elemento

– div#body

● XPath (XML)– //table/td/tr

Ferramentas

● ScraperWiki

● ScrapingHub

● Mechanize (Python, Ruby, ...)

● Scrapy (Python)

● Ghost (Python, para sites que requerem JavaScript)

PDFs

● Se você consegue selecionar texto do PDF, ou seja, o PDF foi gerado por um programa qualquer, e não é simplesmente um documento escaneado, você está com sorte.

● Se não, as técnicas são as mesmas pra quebrar CAPTCHA (vou falar a seguir)

CAPTCHAS

● Existem para evitar que pessoas automatizem o acesso a websites, seja para raspagem ou para criar contas

● Para quebrar um CAPTCHA, primeiro baixamos um grande número de imagens, as resolvemos manualmente e usamos esse conjunto para treinar a ferramenta escolhida

Limpeza de ruído

● ImageMagick

GOCR

● Simples de usar

● Funciona em CAPTCHAs mais simples

Tesseract

● É a ferramenta livre mais poderosa

● Desenvolvida desde 1985 inicialmente pela HP, depois pelo Google

● Difícil de usar

E se eu não conseguir quebrar o CAPTCHA?

Death By Captcha

● Uma das empresas que vende serviço de “quebra” de CAPTCHAs

● Você envia a imagem do CAPTCHA e eles te devolvem a solução

● São pessoas em algum lugar cujo trabalho é quebrar CAPTCHAS

● US$ 1,39 por 1.000 CAPTCHAs (e você não paga pelos errados)

Etiqueta de crawling

● Limite sua velocidade (normalmente uso 1 requisição por segundo)

● Adicione uma forma de contato ao seu User-Agent