4. O QUE É WEB SCRAPING?
» Tão antigo quanto a arte de andar
» Mais apelidos que mãe no ensino médio
⋄ Web Scraping
⋄ Screen Scraping
⋄ Data Mining
⋄ Web Harvesting
⋄ BOTS!!
6. O QUE É WEB SCRAPING?
» Scripts automatizados
⋄ Mini-agentes, os Web Crawlers
⋄ Solicitar páginas HTML
⋄ Fazer o parsing e análise do arquivo
⋄ Minerar informações e metadados da URL
⋄ Gerar bases de dados
⋄ Abrir portas para Machine Learning, Sales,
Marketing, Hacking, Big Data e etc...
8. POR QUE USAR WEB
SCRAPING?
» Navegadores são fodas! (Mas não são a única opção)
» Coletar e processar grande quantidade de dados
» Ir onde nenhum buscador jamais foi…
» Banco de dados estendido, de uma até 1 zilhão de
páginas
12. E AS API’S?
»
» É ideal utilizar API (Se existir)
» API’s são tudo de bom, quando você encontra
alguma que te atenda legal.
13. QUANDO USAR WEB
CRAWLERS?
» Quando você está coletando dados de vários sites
» Quando o site não tem uma API coesa
» Quando você precisa de um conjunto de dados não
disponíveis na API
» A origem não tem infraestrutura ou conhecimento
técnico para criar uma API
» Quando a API tem limite de de
velocidade/requisição.
15. QUANDO USAR WEB
CRAWLERS?
» Buscadores
» Indexação e Ranking de conteúdo (SEO)
» Mineração de dados,
» Encontrar oportunidades comerciais, reclamações,
contatos, pessoas, sales, identificação de leads e etc
» Tanto um herói quanto um vilão
17. COMO FAZER UM GOOGLE
TENHA MILHÕES DE
DÓLARES PRA
COMPRAR SERVIDORES
E ARMAZENAMENTO
18. COMO FAZER UM GOOGLE
TENHA MILHÕES DE
DÓLARES PRA
COMPRAR SERVIDORES
E ARMAZENAMENTO
FAÇA UM
WEB
CRAWLER
19. COMO FAZER UM GOOGLE
TENHA MILHÕES DE
DÓLARES PRA
COMPRAR SERVIDORES
E ARMAZENAMENTO
FAÇA UM
WEB
CRAWLER
AUMENTE O
TRÁFEGO DE
TODA A
INTERNET
22. COMEÇANDO - O MAIS SIMPLES
POSSÍVEL
» Modo de preparo:
⋄ 1 lib de request HTTP (urllib, urllib2, request, etc..)
⋄ BeutifulSoup
http://wiki.python.org.br/Beautiful
Soup
37. COISINHAS PRA DAR
ATENÇÃO
» Tratamento de Exceção
» Identificar links internos e externos
» Descarregar os links em alguma base de dados (SQL, NoSQL,
CSV, txt…)
» Tratar e normalizar os dados
38. RASTREANDO COM SEGURANÇA -
ERROS
» Tratamento de erros e exceções
» Deu merda, parou tudo
» Você foi dormir, esperando o crawler terminar, deu erro,
se f*(deu
» A WEB é uma zona
» Nem todos os dados estão da maneira que esperamos
» Use try; except;