SlideShare uma empresa Scribd logo
Capturando	
  a	
  Web	
  com	
  Scrapy	
  
Gabriel	
  Freitas	
  
O	
  que	
  é	
  um	
  web	
  crawler?	
  	
  
O	
  que	
  é	
  um	
  web	
  crawler?	
  	
  
•  	
  “Web	
  crawler	
  é	
  um	
  programa	
  de	
  computador	
  
que	
  navega	
  pela	
  World	
  Wide	
  Web	
  de	
  uma	
  
forma	
  metódica	
  e	
  automaAzada”hEp://
pt.wikipedia.org/wiki/Web_crawler	
  	
  
Pra	
  que	
  serve?	
  
Pra	
  que	
  serve?	
  
Estrutura	
  básica	
  de	
  um	
  web	
  crawler	
  
Estrutura	
  básica	
  de	
  um	
  web	
  crawler	
  
•  Construção	
  de	
  requisições	
  HTTP	
  	
  
Estrutura	
  básica	
  de	
  um	
  web	
  crawler	
  
•  Construção	
  de	
  requisições	
  HTTP	
  
•  	
  Tratamento	
  da	
  resposta	
  
– Composição	
  de	
  objetos	
  
– Composição	
  de	
  novas	
  requisições	
  	
  
Estrutura	
  básica	
  de	
  um	
  web	
  crawler	
  
•  Construção	
  de	
  requisições	
  HTTP	
  
•  	
  Tratamento	
  da	
  resposta	
  
– Composição	
  de	
  objetos	
  
– Composição	
  de	
  novas	
  requisições	
  
•  Persistência	
  de	
  dados	
  	
  
Crawleando	
  em	
  Python	
  
•  Tecnologias	
  comuns:	
  
Crawleando	
  em	
  Python	
  
•  Tecnologias	
  comuns:	
  
– urllib,	
  hEplib2,	
  requests	
  	
  
Crawleando	
  em	
  Python	
  
•  Tecnologias	
  comuns:	
  
– urllib,	
  hEplib2,	
  requests	
  
– beauAfulsoup	
  ou	
  lxml	
  
Crawleando	
  em	
  Python	
  
•  Tecnologias	
  comuns:	
  
– urllib,	
  hEplib2,	
  requests	
  
– beauAfulsoup	
  ou	
  lxml	
  
– json,	
  mysql,	
  xml,	
  csv,	
  sqlite,	
  etc.	
  
Mas	
  qual	
  o	
  problema?	
  	
  
Mas	
  qual	
  o	
  problema?	
  	
  
•  	
  Ter	
  que	
  resolver	
  tudo	
  na	
  mão:	
  
– Se	
  Aver	
  autenAcação?	
  
– Trabalhar	
  com	
  sessão,	
  cookie...	
  	
  
– HTML	
  mal	
  formatado	
  
– Requisições	
  Simultâneas	
  
– Aumento	
  de	
  pontos	
  de	
  falha	
  
– Etc..	
  
Solução?	
  
Solução?	
  
Instalando…	
  
•  $	
  pip	
  install	
  Scrapy	
  
Escolhendo	
  o	
  alvo..	
  
Criando	
  o	
  projeto	
  
•  $	
  scrapy	
  startproject	
  <nome	
  projeto>	
  
Localizando	
  os	
  dados	
  
Localizando	
  os	
  dados	
  
•  hEp://www.ufc.com/fighter	
  
hEp://www.ufc.com/fighter/ronda-­‐
Rousey	
  
hEp://www.ufc.com/fighter/ronda-­‐
Rousey	
  
Definindo	
  os	
  itens	
  
•  Itens	
  são	
  os	
  campos	
  que	
  você	
  irá	
  pegar	
  
Definindo	
  os	
  itens	
  
IdenAficando	
  os	
  Xpaths	
  
Testando	
  Xpaths	
  
•  $	
  scrapy	
  shell	
  
hEp://www.ufc.com/fighter/ronda-­‐Rousey	
  
– $	
  sel.xpath('//div[@id="fighter-­‐breadcrumb"]/
span/h1/text()').extract()	
  
– [u'Ronda	
  Rousey']	
  
Gerando	
  o	
  Spider	
  
•  $	
  scrapy	
  genspider	
  ufc	
  hEp://ufc.com	
  
Gerando	
  o	
  Spider	
  
•  $	
  scrapy	
  genspider	
  ufc	
  hEp://ufc.com	
  
•  Tipos	
  de	
  Spiders:	
  
– basic	
  
– crawl	
  
– csvfeed	
  
– xmlfeed	
  
Definindo	
  Xpaths	
  no	
  Spider	
  
Executando	
  o	
  crawler	
  
•  $	
  scrapy	
  crawl	
  ufc	
  
Exportando	
  os	
  resultados	
  
•  Em	
  json	
  
– $	
  scrapy	
  crawl	
  ufc	
  -­‐o	
  lutadores.json	
  -­‐t	
  json	
  
•  Em	
  csv	
  
– $	
  	
  scrapy	
  crawl	
  ufc	
  -­‐o	
  lutadores.csv	
  -­‐t	
  csv	
  
•  Em	
  xml	
  
– $	
  scrapy	
  crawl	
  ufc	
  -­‐o	
  lutadores.xml	
  -­‐t	
  xml	
  
Obrigado!	
  
•  Contatos	
  
– gabrielfreitas07@gmail.com	
  
– r.com/gabrielfreitas07	
  
Referências	
  
•  Nataliel	
  Vasconcelos	
  –	
  Python	
  Beach	
  	
  
•  hEp://pypix.com/python/build-­‐website-­‐crawler-­‐based-­‐
upon-­‐scrapy/	
  
•  hEp://www.slideshare.net/previa/
scrapyfordummies-­‐15277988	
  
•  hEp://www.slideshare.net/TheVirendraRajput/web-­‐
scraping-­‐in-­‐python	
  
•  hEp://www.slideshare.net/obdit/data-­‐philly-­‐scrapy	
  
•  hEp://trumae.blogspot.com.br/2014/01/scrapy-­‐bem-­‐
facinho.html	
  	
  

Mais conteúdo relacionado

PDF
Web Scraping: aplicações nos negócios e na ciência
PDF
Crawleando a web feito gente grande com o scrapy
ODP
Desenvolvendo web crawler/scraper com Python
PPTX
Web scraping
ODP
Construindo um Google Pyrate
PDF
Mashups: Criando Valor na Web 2.0
PDF
Curso JavaScript - Aula sobre DOM e Ajax
Web Scraping: aplicações nos negócios e na ciência
Crawleando a web feito gente grande com o scrapy
Desenvolvendo web crawler/scraper com Python
Web scraping
Construindo um Google Pyrate
Mashups: Criando Valor na Web 2.0
Curso JavaScript - Aula sobre DOM e Ajax

Mais procurados (20)

PDF
Mashups: Criando Valor na Web 2.0 (BandTec)
PPTX
Introdução ao MongoDB II
PDF
Introdução ao MongoDB
PDF
Mecanismo de Busca com Node.js + MongoDB
PPTX
Desenvolvimento de aplicações PHP com MongoDB
PPTX
Web Crawlers
PPTX
Mecanismo de busca PHP + MongoDB
PDF
Desbravando o mundo dos webcrawlers
KEY
Ruby on Rails + MongoDB - GURU Sorocaba
PPTX
Novidades do elasticsearch 2.0 e como usá-lo com PHP
PDF
Curso mongo db com php
KEY
PPT
Palestra MongoDB
PPTX
Como o elasticsearch salvou minhas buscas
PPTX
Introdução à Node.js + MongoDB
PDF
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
PDF
Conhecendo mundo Node.js
ODP
BigData - ElasticSearch + PHP
PDF
Secot banco de dados no sql de código aberto
PDF
Workshop Node.js + MongoDB + Mongoose
Mashups: Criando Valor na Web 2.0 (BandTec)
Introdução ao MongoDB II
Introdução ao MongoDB
Mecanismo de Busca com Node.js + MongoDB
Desenvolvimento de aplicações PHP com MongoDB
Web Crawlers
Mecanismo de busca PHP + MongoDB
Desbravando o mundo dos webcrawlers
Ruby on Rails + MongoDB - GURU Sorocaba
Novidades do elasticsearch 2.0 e como usá-lo com PHP
Curso mongo db com php
Palestra MongoDB
Como o elasticsearch salvou minhas buscas
Introdução à Node.js + MongoDB
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
Conhecendo mundo Node.js
BigData - ElasticSearch + PHP
Secot banco de dados no sql de código aberto
Workshop Node.js + MongoDB + Mongoose
Anúncio

Destaque (20)

PDF
Scraping
PDF
Raspador: Biblioteca em Python para extração de dados em texto semi-estruturado
PPT
LOCKSS Como funciona 2007
PDF
Shut up and give me the data
PPT
Estudo de caso do "O Curioso" (Rio on Rails)
PDF
Web - Crawlers
PPTX
Curso YaCy Mecanismo de Busca de Código Aberto
PDF
Capturando dados com Python - UAI Python
PDF
OpenData-BR, [Captando] Dados públicos brasileiros
PPT
O que é Data Science?
PPT
Open datasets
PPT
R ou Python para análise de dados
KEY
Scraping by examples
PDF
Scraping for fun and glory
PPT
Novas ferramentas Python para Análise de Dados
PPT
Java Web Scraping
ODP
Web crawler
PPTX
Python + Delphi: Um relacionamento que está dando certo
PDF
Extraindo dados públicos na marra com Python
PDF
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Scraping
Raspador: Biblioteca em Python para extração de dados em texto semi-estruturado
LOCKSS Como funciona 2007
Shut up and give me the data
Estudo de caso do "O Curioso" (Rio on Rails)
Web - Crawlers
Curso YaCy Mecanismo de Busca de Código Aberto
Capturando dados com Python - UAI Python
OpenData-BR, [Captando] Dados públicos brasileiros
O que é Data Science?
Open datasets
R ou Python para análise de dados
Scraping by examples
Scraping for fun and glory
Novas ferramentas Python para Análise de Dados
Java Web Scraping
Web crawler
Python + Delphi: Um relacionamento que está dando certo
Extraindo dados públicos na marra com Python
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Anúncio

Semelhante a Capturando a web com Scrapy (20)

PDF
“Web Spiders” – Automação para Web Hacking
PDF
PPTX
iesp_inverno_slides_raspagem2.pptx
PDF
iesp_inverno_slides_raspagem.pdf
PDF
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
PDF
Python mudando o modo de desenvolver para a internet
PPTX
Sistemas de recomendações e neo4J na cloud computing
PDF
Automatizando Tarefas com o Watir-Webdriver - Case
PDF
Raspagem de Dados com Python
PDF
Python e suas aplicações
PDF
OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka ...
PPT
Javascript nos dias de hoje
PPTX
Tirando leite de pedra
PDF
Automatizando tarefas com Python
PDF
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
PPTX
Treinamento Elasticsearch - Parte 1
ODP
Escalabilidade em Aplicações - Fisl13
PDF
Desenvolvimento Web com Software Livre
KEY
testando interfaces web
PPTX
Voce se preocupa com performance ou é sempre problema da infra
 
“Web Spiders” – Automação para Web Hacking
iesp_inverno_slides_raspagem2.pptx
iesp_inverno_slides_raspagem.pdf
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
Python mudando o modo de desenvolver para a internet
Sistemas de recomendações e neo4J na cloud computing
Automatizando Tarefas com o Watir-Webdriver - Case
Raspagem de Dados com Python
Python e suas aplicações
OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka ...
Javascript nos dias de hoje
Tirando leite de pedra
Automatizando tarefas com Python
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Treinamento Elasticsearch - Parte 1
Escalabilidade em Aplicações - Fisl13
Desenvolvimento Web com Software Livre
testando interfaces web
Voce se preocupa com performance ou é sempre problema da infra
 

Último (19)

PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Apple Pippin Uma breve introdução. - David Glotz
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Aula 18 - Manipulacao De Arquivos python
Custos e liquidação no SAP Transportation Management, TM130 Col18
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Processos na gestão de transportes, TM100 Col18
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Aula04-Academia Heri- Tecnologia Geral 2025
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
COBITxITIL-Entenda as diferença em uso governança TI
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26

Capturando a web com Scrapy