SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
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	
  	
  

Weitere ähnliche Inhalte

Was ist angesagt?

Introdução ao MongoDB II
Introdução ao MongoDB IIIntrodução ao MongoDB II
Introdução ao MongoDB IILuiz Duarte
 
Introdução ao MongoDB
Introdução ao MongoDBIntrodução ao MongoDB
Introdução ao MongoDBLuiz Duarte
 
Mecanismo de Busca com Node.js + MongoDB
Mecanismo de Busca com Node.js + MongoDBMecanismo de Busca com Node.js + MongoDB
Mecanismo de Busca com Node.js + MongoDBLuiz Duarte
 
Desenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDBDesenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDBAri Stopassola Junior
 
Mecanismo de busca PHP + MongoDB
Mecanismo de busca PHP + MongoDBMecanismo de busca PHP + MongoDB
Mecanismo de busca PHP + MongoDBLuiz Duarte
 
Desbravando o mundo dos webcrawlers
Desbravando o mundo dos webcrawlersDesbravando o mundo dos webcrawlers
Desbravando o mundo dos webcrawlersJoão Gabriel Lima
 
Ruby on Rails + MongoDB - GURU Sorocaba
Ruby on Rails + MongoDB - GURU SorocabaRuby on Rails + MongoDB - GURU Sorocaba
Ruby on Rails + MongoDB - GURU SorocabaLucas Renan
 
Novidades do elasticsearch 2.0 e como usá-lo com PHP
Novidades do elasticsearch 2.0 e como usá-lo com PHPNovidades do elasticsearch 2.0 e como usá-lo com PHP
Novidades do elasticsearch 2.0 e como usá-lo com PHPLuiz Henrique Zambom Santana
 
Curso mongo db com php
Curso mongo db com phpCurso mongo db com php
Curso mongo db com phpSuissa
 
Como o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscasComo o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscasWaldemar Neto
 
Introdução à Node.js + MongoDB
Introdução à Node.js + MongoDBIntrodução à Node.js + MongoDB
Introdução à Node.js + MongoDBLuiz Duarte
 
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...Miguel Gallardo
 
BigData - ElasticSearch + PHP
BigData - ElasticSearch + PHPBigData - ElasticSearch + PHP
BigData - ElasticSearch + PHPFelipe Weckx
 
Secot banco de dados no sql de código aberto
Secot   banco de dados no sql de código abertoSecot   banco de dados no sql de código aberto
Secot banco de dados no sql de código abertoSuissa
 
Workshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseWorkshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseLuiz Duarte
 

Was ist angesagt? (20)

Mashups: Criando Valor na Web 2.0 (BandTec)
Mashups: Criando Valor na Web 2.0 (BandTec)Mashups: Criando Valor na Web 2.0 (BandTec)
Mashups: Criando Valor na Web 2.0 (BandTec)
 
Introdução ao MongoDB II
Introdução ao MongoDB IIIntrodução ao MongoDB II
Introdução ao MongoDB II
 
Introdução ao MongoDB
Introdução ao MongoDBIntrodução ao MongoDB
Introdução ao MongoDB
 
Mecanismo de Busca com Node.js + MongoDB
Mecanismo de Busca com Node.js + MongoDBMecanismo de Busca com Node.js + MongoDB
Mecanismo de Busca com Node.js + MongoDB
 
Desenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDBDesenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDB
 
Web Crawlers
Web CrawlersWeb Crawlers
Web Crawlers
 
Mecanismo de busca PHP + MongoDB
Mecanismo de busca PHP + MongoDBMecanismo de busca PHP + MongoDB
Mecanismo de busca PHP + MongoDB
 
Desbravando o mundo dos webcrawlers
Desbravando o mundo dos webcrawlersDesbravando o mundo dos webcrawlers
Desbravando o mundo dos webcrawlers
 
Ruby on Rails + MongoDB - GURU Sorocaba
Ruby on Rails + MongoDB - GURU SorocabaRuby on Rails + MongoDB - GURU Sorocaba
Ruby on Rails + MongoDB - GURU Sorocaba
 
Novidades do elasticsearch 2.0 e como usá-lo com PHP
Novidades do elasticsearch 2.0 e como usá-lo com PHPNovidades do elasticsearch 2.0 e como usá-lo com PHP
Novidades do elasticsearch 2.0 e como usá-lo com PHP
 
Curso mongo db com php
Curso mongo db com phpCurso mongo db com php
Curso mongo db com php
 
MongoDB
MongoDBMongoDB
MongoDB
 
Palestra MongoDB
Palestra MongoDBPalestra MongoDB
Palestra MongoDB
 
Como o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscasComo o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscas
 
Introdução à Node.js + MongoDB
Introdução à Node.js + MongoDBIntrodução à Node.js + MongoDB
Introdução à Node.js + MongoDB
 
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
 
Conhecendo mundo Node.js
Conhecendo mundo Node.jsConhecendo mundo Node.js
Conhecendo mundo Node.js
 
BigData - ElasticSearch + PHP
BigData - ElasticSearch + PHPBigData - ElasticSearch + PHP
BigData - ElasticSearch + PHP
 
Secot banco de dados no sql de código aberto
Secot   banco de dados no sql de código abertoSecot   banco de dados no sql de código aberto
Secot banco de dados no sql de código aberto
 
Workshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseWorkshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + Mongoose
 

Andere mochten auch

Raspador: Biblioteca em Python para extração de dados em texto semi-estruturado
Raspador: Biblioteca em Python para extração de dados em texto semi-estruturadoRaspador: Biblioteca em Python para extração de dados em texto semi-estruturado
Raspador: Biblioteca em Python para extração de dados em texto semi-estruturadoFernando Macedo
 
Shut up and give me the data
Shut up and give me the dataShut up and give me the data
Shut up and give me the dataAna Paula Gomes
 
Estudo de caso do "O Curioso" (Rio on Rails)
Estudo de caso do "O Curioso" (Rio on Rails)Estudo de caso do "O Curioso" (Rio on Rails)
Estudo de caso do "O Curioso" (Rio on Rails)guestf4f70f
 
Curso YaCy Mecanismo de Busca de Código Aberto
Curso YaCy Mecanismo de Busca de Código AbertoCurso YaCy Mecanismo de Busca de Código Aberto
Curso YaCy Mecanismo de Busca de Código AbertoJulio Della Flora
 
Capturando dados com Python - UAI Python
Capturando dados com Python - UAI PythonCapturando dados com Python - UAI Python
Capturando dados com Python - UAI PythonÁlvaro Justen
 
OpenData-BR, [Captando] Dados públicos brasileiros
OpenData-BR, [Captando] Dados públicos brasileirosOpenData-BR, [Captando] Dados públicos brasileiros
OpenData-BR, [Captando] Dados públicos brasileirosThiago Rondon
 
R ou Python para análise de dados
R ou Python para análise de dadosR ou Python para análise de dados
R ou Python para análise de dadosCiência e Dados
 
Scraping for fun and glory
Scraping for fun and gloryScraping for fun and glory
Scraping for fun and gloryitalomaia
 
Novas ferramentas Python para Análise de Dados
Novas ferramentas Python para Análise de DadosNovas ferramentas Python para Análise de Dados
Novas ferramentas Python para Análise de DadosCiência e Dados
 
Java Web Scraping
Java Web ScrapingJava Web Scraping
Java Web ScrapingSumant Raja
 
Python + Delphi: Um relacionamento que está dando certo
Python + Delphi: Um relacionamento que está dando certoPython + Delphi: Um relacionamento que está dando certo
Python + Delphi: Um relacionamento que está dando certoFernando Macedo
 
Extraindo dados públicos na marra com Python
Extraindo dados públicos na marra com PythonExtraindo dados públicos na marra com Python
Extraindo dados públicos na marra com PythonPedro Valente
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Daniel Makiyama
 

Andere mochten auch (20)

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

Ähnlich wie Capturando Dados UFC com Scrapy

“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 HackingConviso Application Security
 
iesp_inverno_slides_raspagem2.pptx
iesp_inverno_slides_raspagem2.pptxiesp_inverno_slides_raspagem2.pptx
iesp_inverno_slides_raspagem2.pptxMarceloAlves902106
 
iesp_inverno_slides_raspagem.pdf
iesp_inverno_slides_raspagem.pdfiesp_inverno_slides_raspagem.pdf
iesp_inverno_slides_raspagem.pdfMarceloAlves902106
 
Python mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internetPython mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internetMarcos Petry
 
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web  - Marcos Daniel PetryPython mudando o modo de desenvolver para a web  - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web - Marcos Daniel PetryTchelinux
 
Sistemas de recomendações e neo4J na cloud computing
Sistemas de recomendações e neo4J na cloud computingSistemas de recomendações e neo4J na cloud computing
Sistemas de recomendações e neo4J na cloud computingPriscila Mayumi
 
Automatizando Tarefas com o Watir-Webdriver - Case
Automatizando Tarefas com o Watir-Webdriver - CaseAutomatizando Tarefas com o Watir-Webdriver - Case
Automatizando Tarefas com o Watir-Webdriver - CaseLucas Prim
 
Raspagem de Dados com Python
Raspagem de Dados com PythonRaspagem de Dados com Python
Raspagem de Dados com PythonThiago Curvelo
 
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 ...Magno Logan
 
Automatizando tarefas com Python
Automatizando tarefas com PythonAutomatizando tarefas com Python
Automatizando tarefas com Pythonpugpe
 
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker ComposeScrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker ComposeStefan Teixeira
 
Escalabilidade em Aplicações - Fisl13
Escalabilidade em Aplicações - Fisl13Escalabilidade em Aplicações - Fisl13
Escalabilidade em Aplicações - Fisl13Flavio Torres
 
Desenvolvimento Web com Software Livre
Desenvolvimento Web com Software LivreDesenvolvimento Web com Software Livre
Desenvolvimento Web com Software LivreGivanaldo Rocha
 
testando interfaces web
testando interfaces webtestando interfaces web
testando interfaces webAndrews Medina
 
Voce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infraVoce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infraCDS
 

Ähnlich wie Capturando Dados UFC com Scrapy (20)

“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
 
Bsides4cooler
Bsides4coolerBsides4cooler
Bsides4cooler
 
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
 
Python mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internetPython mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internet
 
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web  - Marcos Daniel PetryPython mudando o modo de desenvolver para a web  - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
 
Sistemas de recomendações e neo4J na cloud computing
Sistemas de recomendações e neo4J na cloud computingSistemas de recomendações e neo4J na cloud computing
Sistemas de recomendações e neo4J na cloud computing
 
Automatizando Tarefas com o Watir-Webdriver - Case
Automatizando Tarefas com o Watir-Webdriver - CaseAutomatizando Tarefas com o Watir-Webdriver - Case
Automatizando Tarefas com o Watir-Webdriver - Case
 
Raspagem de Dados com Python
Raspagem de Dados com PythonRaspagem de Dados com Python
Raspagem de Dados com Python
 
Python e suas aplicações
Python e suas aplicaçõesPython e suas aplicações
Python e suas aplicações
 
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 ...
 
Javascript nos dias de hoje
Javascript nos dias de hojeJavascript nos dias de hoje
Javascript nos dias de hoje
 
Tirando leite de pedra
Tirando leite de pedraTirando leite de pedra
Tirando leite de pedra
 
Automatizando tarefas com Python
Automatizando tarefas com PythonAutomatizando tarefas com Python
Automatizando tarefas com Python
 
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker ComposeScrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
 
Treinamento Elasticsearch - Parte 1
Treinamento Elasticsearch - Parte 1Treinamento Elasticsearch - Parte 1
Treinamento Elasticsearch - Parte 1
 
Escalabilidade em Aplicações - Fisl13
Escalabilidade em Aplicações - Fisl13Escalabilidade em Aplicações - Fisl13
Escalabilidade em Aplicações - Fisl13
 
Desenvolvimento Web com Software Livre
Desenvolvimento Web com Software LivreDesenvolvimento Web com Software Livre
Desenvolvimento Web com Software Livre
 
testando interfaces web
testando interfaces webtestando interfaces web
testando interfaces web
 
Voce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infraVoce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infra
 

Capturando Dados UFC com Scrapy