Scraping
-
Upload
vitor-baptista -
Category
Software
-
view
126 -
download
0
description
Transcript of Scraping
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)
Ferramentas
● Pdftables● Tabula● ScraperWiki● pdftohtml
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
Ferramentas
● GOCR● Tesseract● DeathByCaptcha
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