SlideShare uma empresa Scribd logo
WEB SCRAPING
COM
PYTHON
Matheus
Fidelis
DevOps na Superlógica Tecnologias
Twitter: @fidelissauro
Web: http://nanoshots.com.br
Email: msfidelis01@gmail.com
1. WTF É WEB
SCRAPING?????
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!!
Prática de coletar
dados da Web que
não seja por API
ou intermédio
humano (Browser)
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...
2. POR QUE UTILIZAR?
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
MAS…
E AS
API’S???(Dãããã)
QUAL O
PROBLEMA DE
UTILIZAR API’S??
NENHU
M!
E AS API’S?
»
» É ideal utilizar API (Se existir)
» API’s são tudo de bom, quando você encontra
alguma que te atenda legal.
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.
3. PRINCIPAIS USOS
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
COMO FAZER UM GOOGLE
TENHA MILHÕES DE
DÓLARES PRA
COMPRAR SERVIDORES
E ARMAZENAMENTO
COMO FAZER UM GOOGLE
TENHA MILHÕES DE
DÓLARES PRA
COMPRAR SERVIDORES
E ARMAZENAMENTO
FAÇA UM
WEB
CRAWLER
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
PRONT
O!
4. COMO COMEÇAR?
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
# pip install
beautifulsoup4
PRIMEIRO REQUEST COM
URLLIB2
HTML PURO FEIO PRA CRL
AGORA É A HORA DO BEAUTIFUL
SOAP
» Parsing de HTML, XML, HXML
» Transforma elementos HTML em objetos
» Facilita a busca e análise de dados
» REGEX
INICIANDO O
BEAUTIFULSOUP
INICIANDO O
BEAUTIFULSOUP
CAPTURANDO ELEMENTOS
HTML
CAPTURANDO ELEMENTOS
HTML
CAPTURANDO ELEMENTOS
HTML
CAPTURANDO ELEMENTOS
HTML
CAPTURANDO ELEMENTOS
HTML
ARMAZENANDO RESULTADOS -
LISTA
ARMAZENANDO RESULTADOS -
LISTA
5. COISAS PRA DAR
ATENÇÃO
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
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;
Exceções
» A WEB é uma zona. Nem tudo é o que se espera...
RASTREANDO COM SEGURANÇA -
ERROS
RASTREANDO COM SEGURANÇA -
ERROS
Caixa baixa/alta e espaços em
branco
» .lower() .upper()
» .strip()
6. TENTANDO SER GENTE
PARECENDO HUMANO
» HTTP Headers (Headers no request do URLib)
» Cookies (Selenium)
» Ritmo (soca um sleep)
» Verificação para humanos
HEADERS
HTTP
7. CASOS EM QUE DEU
M#RD@
QUANDO DEU M#RD@?
» eBay vs Bidder’s Edge
» EUA vs Computer Fraud and Abuse Act
» Field vs Google
8. CASOS QUE FOI
AMORZINHO
HTTPS://QUEROSER.T
ECH
OBRIGADO!
Perguntas?
Como me achar
» @fidelissauro
» msfidelis01@gmail.com

Mais conteúdo relacionado

Mais procurados

Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
Rodrigo Rodrigues
 
Liderança Situacional
Liderança SituacionalLiderança Situacional
Liderança Situacional
Adm Unime
 
Gestao do conhecimento ppt
Gestao do conhecimento pptGestao do conhecimento ppt
Gestao do conhecimento ppt
Daniela Garcia
 
Logslides Processos de Armazenagem aula 1 de 14 (2015)
Logslides Processos de Armazenagem aula 1 de 14 (2015)Logslides Processos de Armazenagem aula 1 de 14 (2015)
Logslides Processos de Armazenagem aula 1 de 14 (2015)
Luciano Nicoletti Junior
 

Mais procurados (20)

SOLID - Teoria e Prática
SOLID - Teoria e PráticaSOLID - Teoria e Prática
SOLID - Teoria e Prática
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 
Padrões MVC
Padrões MVCPadrões MVC
Padrões MVC
 
Liderança Situacional
Liderança SituacionalLiderança Situacional
Liderança Situacional
 
Empreendedorismo 4.0
Empreendedorismo 4.0Empreendedorismo 4.0
Empreendedorismo 4.0
 
Lideranca
LiderancaLideranca
Lideranca
 
Modelagem De Banco De Dados
Modelagem De Banco De DadosModelagem De Banco De Dados
Modelagem De Banco De Dados
 
Gestao agil de projetos
Gestao agil de projetosGestao agil de projetos
Gestao agil de projetos
 
Big Data / Analytics sem Governança de Dados é apenas uma utopia
Big Data / Analytics sem Governança de Dados é apenas uma utopiaBig Data / Analytics sem Governança de Dados é apenas uma utopia
Big Data / Analytics sem Governança de Dados é apenas uma utopia
 
Gestao do conhecimento ppt
Gestao do conhecimento pptGestao do conhecimento ppt
Gestao do conhecimento ppt
 
Logslides Processos de Armazenagem aula 1 de 14 (2015)
Logslides Processos de Armazenagem aula 1 de 14 (2015)Logslides Processos de Armazenagem aula 1 de 14 (2015)
Logslides Processos de Armazenagem aula 1 de 14 (2015)
 
Sd01 (si) sistemas de arquivos
Sd01 (si)   sistemas de arquivosSd01 (si)   sistemas de arquivos
Sd01 (si) sistemas de arquivos
 
Deep web
Deep webDeep web
Deep web
 
POO - Aula 09 - Herança
POO - Aula 09 - HerançaPOO - Aula 09 - Herança
POO - Aula 09 - Herança
 
Sistema de Busca em Websites
Sistema de Busca em WebsitesSistema de Busca em Websites
Sistema de Busca em Websites
 
Fundamentos da Linguagem Digital - Módulo 01
Fundamentos da Linguagem Digital - Módulo 01Fundamentos da Linguagem Digital - Módulo 01
Fundamentos da Linguagem Digital - Módulo 01
 
Banco de dados aula 2
Banco de dados  aula 2Banco de dados  aula 2
Banco de dados aula 2
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e Especialização
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançado
 

Destaque

328 lsb-oficial(1)
328 lsb-oficial(1)328 lsb-oficial(1)
328 lsb-oficial(1)
sleven00
 

Destaque (20)

Scraping data from the web and documents
Scraping data from the web and documentsScraping data from the web and documents
Scraping data from the web and documents
 
Almost Scraping: Web Scraping without Programming
Almost Scraping: Web Scraping without ProgrammingAlmost Scraping: Web Scraping without Programming
Almost Scraping: Web Scraping without Programming
 
Contabilidad básica
Contabilidad básicaContabilidad básica
Contabilidad básica
 
3Com 3C17715USED
3Com 3C17715USED3Com 3C17715USED
3Com 3C17715USED
 
328 lsb-oficial(1)
328 lsb-oficial(1)328 lsb-oficial(1)
328 lsb-oficial(1)
 
Form 7
Form 7Form 7
Form 7
 
Polynomial
PolynomialPolynomial
Polynomial
 
Clowns
Clowns Clowns
Clowns
 
10 pravil interneta
10 pravil interneta10 pravil interneta
10 pravil interneta
 
Obras teatrales opcionales (1)
Obras teatrales opcionales (1)Obras teatrales opcionales (1)
Obras teatrales opcionales (1)
 
Glosararium card teks debat , aby dan nuryahya ,luky ch xotr1 vocsten malang
Glosararium card teks debat , aby dan nuryahya ,luky ch xotr1 vocsten malangGlosararium card teks debat , aby dan nuryahya ,luky ch xotr1 vocsten malang
Glosararium card teks debat , aby dan nuryahya ,luky ch xotr1 vocsten malang
 
Contabilidad
Contabilidad Contabilidad
Contabilidad
 
Sorolla y la_luz
Sorolla y la_luzSorolla y la_luz
Sorolla y la_luz
 
Prism presentation
Prism presentationPrism presentation
Prism presentation
 
ФАБЕРЛИК КАТАЛОГ №05/2017 (20.03 — 02.04)
ФАБЕРЛИК КАТАЛОГ №05/2017 (20.03 — 02.04)ФАБЕРЛИК КАТАЛОГ №05/2017 (20.03 — 02.04)
ФАБЕРЛИК КАТАЛОГ №05/2017 (20.03 — 02.04)
 
Proposal Sistem Informasi Pemesanan Tiket Bioskop Online
Proposal Sistem Informasi Pemesanan Tiket Bioskop OnlineProposal Sistem Informasi Pemesanan Tiket Bioskop Online
Proposal Sistem Informasi Pemesanan Tiket Bioskop Online
 
Quadrilaterals
QuadrilateralsQuadrilaterals
Quadrilaterals
 
Racismo, Preconceitos e Discriminações
Racismo, Preconceitos e Discriminações Racismo, Preconceitos e Discriminações
Racismo, Preconceitos e Discriminações
 
Sistema digestivo en los seres vivos
Sistema digestivo en los seres vivosSistema digestivo en los seres vivos
Sistema digestivo en los seres vivos
 
Economic reforms in India
Economic reforms in IndiaEconomic reforms in India
Economic reforms in India
 

Semelhante a Web scraping com python

Como webscraping pode ajudar no Marketing?
Como webscraping pode ajudar no Marketing?Como webscraping pode ajudar no Marketing?
Como webscraping pode ajudar no Marketing?
Thiago Rocha
 
Www.dicas l.com.br cursos-search_websearch
Www.dicas l.com.br cursos-search_websearchWww.dicas l.com.br cursos-search_websearch
Www.dicas l.com.br cursos-search_websearch
icaroidos2
 
Capturando a web com Scrapy
Capturando a web com ScrapyCapturando a web com Scrapy
Capturando a web com Scrapy
Gabriel Freitas
 

Semelhante a Web scraping com python (20)

Como webscraping pode ajudar no Marketing?
Como webscraping pode ajudar no Marketing?Como webscraping pode ajudar no Marketing?
Como webscraping pode ajudar no Marketing?
 
E-book MBV 2
E-book MBV 2E-book MBV 2
E-book MBV 2
 
E Books MBV - Livro 2
E Books MBV - Livro 2E Books MBV - Livro 2
E Books MBV - Livro 2
 
Construindo Aplicações com Zero Load Time
Construindo Aplicações com Zero Load TimeConstruindo Aplicações com Zero Load Time
Construindo Aplicações com Zero Load Time
 
Www.dicas l.com.br cursos-search_websearch
Www.dicas l.com.br cursos-search_websearchWww.dicas l.com.br cursos-search_websearch
Www.dicas l.com.br cursos-search_websearch
 
Futurecom 2010 - Web Semântica - Pessoas e máquinas pensando juntas!
Futurecom 2010 - Web Semântica - Pessoas e máquinas pensando juntas!Futurecom 2010 - Web Semântica - Pessoas e máquinas pensando juntas!
Futurecom 2010 - Web Semântica - Pessoas e máquinas pensando juntas!
 
Hackathon UOL
Hackathon  UOL Hackathon  UOL
Hackathon UOL
 
“Web Spiders” – Automação para Web Hacking
“Web Spiders” – Automação para Web Hacking“Web Spiders” – Automação para Web Hacking
“Web Spiders” – Automação para Web Hacking
 
Big Query - Escalabilidade Infinita para os seus Dados
Big Query  - Escalabilidade Infinita para os seus DadosBig Query  - Escalabilidade Infinita para os seus Dados
Big Query - Escalabilidade Infinita para os seus Dados
 
Browsers como vivem o que fazem
Browsers como vivem o que fazemBrowsers como vivem o que fazem
Browsers como vivem o que fazem
 
HTML5 - William Dias - Davi Reine - XVII SACOMP
HTML5 - William Dias - Davi Reine - XVII SACOMPHTML5 - William Dias - Davi Reine - XVII SACOMP
HTML5 - William Dias - Davi Reine - XVII SACOMP
 
Visão Geral De Desenvolvimento Web Sre 2012
Visão Geral De Desenvolvimento Web   Sre 2012Visão Geral De Desenvolvimento Web   Sre 2012
Visão Geral De Desenvolvimento Web Sre 2012
 
OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka ...
OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka ...OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka ...
OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka ...
 
Road Show TI SENAC - Web Semântica - Pessoas e Máquinas Pensando Juntas - SEN...
Road Show TI SENAC - Web Semântica - Pessoas e Máquinas Pensando Juntas - SEN...Road Show TI SENAC - Web Semântica - Pessoas e Máquinas Pensando Juntas - SEN...
Road Show TI SENAC - Web Semântica - Pessoas e Máquinas Pensando Juntas - SEN...
 
iesp_inverno_slides_raspagem2.pptx
iesp_inverno_slides_raspagem2.pptxiesp_inverno_slides_raspagem2.pptx
iesp_inverno_slides_raspagem2.pptx
 
iesp_inverno_slides_raspagem.pdf
iesp_inverno_slides_raspagem.pdfiesp_inverno_slides_raspagem.pdf
iesp_inverno_slides_raspagem.pdf
 
Marketing Digital - Otimização para Sites de Busca
Marketing Digital - Otimização para Sites de BuscaMarketing Digital - Otimização para Sites de Busca
Marketing Digital - Otimização para Sites de Busca
 
Palestra html5 e CSS3
Palestra html5 e CSS3Palestra html5 e CSS3
Palestra html5 e CSS3
 
Capturando a web com Scrapy
Capturando a web com ScrapyCapturando a web com Scrapy
Capturando a web com Scrapy
 
Big Data
Big DataBig Data
Big Data
 

Mais de Matheus Fidelis

Mais de Matheus Fidelis (10)

Road to serverless
Road to serverlessRoad to serverless
Road to serverless
 
Criando API's com HapiJS
Criando API's com HapiJSCriando API's com HapiJS
Criando API's com HapiJS
 
Desbravando o REST com Python
Desbravando o REST com PythonDesbravando o REST com Python
Desbravando o REST com Python
 
Docker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG CabreúvaDocker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG Cabreúva
 
Escalando API's com NodeJS, Docker e RabbitMQ
Escalando API's com NodeJS, Docker e RabbitMQEscalando API's com NodeJS, Docker e RabbitMQ
Escalando API's com NodeJS, Docker e RabbitMQ
 
Desmistificando a Amazon AWS
Desmistificando a Amazon AWSDesmistificando a Amazon AWS
Desmistificando a Amazon AWS
 
Docker para maiores
Docker para maioresDocker para maiores
Docker para maiores
 
O Fantástico Mundo de Git
O Fantástico Mundo de GitO Fantástico Mundo de Git
O Fantástico Mundo de Git
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers Docker
 
Aula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação WebAula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação Web
 

Web scraping com python

Notas do Editor

  1. EUA -
  2. EUA -
  3. EUA -
  4. EUA -
  5. EUA -
  6. EUA -
  7. EUA -