SlideShare a Scribd company logo
1 of 32
Download to read offline
shut up and give me
the data!
quem tá falando?!
Ana Paula Gomes
Baiana, mestranda em
Ciência da Computação,
apaixonada por tecnologia,
boas conversas e viagens
(não necessariamente nessa
ordem).
Organizadora do GDG e
WTM Belo Horizonte
dados
APIs, Crawler, Apps
conte-me mais sobre isso
APIs
facilitando a sua vida
APIs
uma interface para acessar dados
APIs
e o python nisso?
• requests
APIs
requests
pip install requests
>>> r = requests.get('https://api.github.com/user', auth=('user',
'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=utf8'
>>> r.text
u'{"type":"User"...'
APIs
Marvel API
• oferece informações sobre seu
universo: quadrinhos, personagens,
autores
• REST e JSON
APIs
demonstração com requests acessando
a API da marvel
APIs
Twitter API
passos:
• cadastrar-se no Twitter (com número de
telefone)
• criar uma aplicação
• solicitar token
JSON
APIs
Twitter API
modalidades:
• Streaming API
• REST API (search)
APIs
demonstração de uso da API do Twitter
Crawler
tudo o que você pode ver, você pode pegar
Crawler
programas que analisam páginas web
em busca de dados relevantes
Crawler
estratégias:
• busca em Largura
• snowball
Crawler
Busca em Largura
• busca todos os nós até
terminar a árvore de
dados
• exemplo: coleta todos
os links de uma página
e explora estes links
até todo o site ter sido
coletado
Crawler
Snowball
• inicia com um conjunto
de sementes (seeds) e
coleta até um
determinado critério
de parada
• critérios de parada:
tempo de execução,
componente conectado,
fim das sementes
Crawler
algumas bibliotecas:
• pyquery, scrapy, beautiful soap
Crawler
pyquery
pip install pyquery
>>>from pyquery import PyQuery as pq
>>>doc = pq('<html><body><p>Hello World</p></body></html>')
>>>print doc('p').text()
'Hello World'
Crawler
demonstração do pyquery crawleando o
foursquare
Apps
você dá algo que os usuários querem em troca dos dados
Apps e dados
criação de aplicativos em plataformas já
consolidas em troca das informações
dos usuários
Apps e dados
Por onde começar?
você pode escolher!
programmableweb
lod-clod.net
APIs.io
dados.gov.br
…
web inteira!
fácil assim?
só mais uma coisa!
códigos ou ideias
{
“email”: “apgomes88@gmail.com”,
“twitter”: “anapaulagomess”
“github”: “anapaulagomes/shutupandgivemethedata”
}
obrigada!
crédito das imagens
http://i.ytimg.com/vi/saZhldaHQM0/maxresdefault.jpg
http://cdn2.screenjunkies.com/wp-content/uploads/2011/10/pulp-fiction-
Screen-Junkies.jpg
http://i.imgur.com/qvWn4Rd.png
http://torino.zero.eu/files/2014/07/pulp-fiction.jpg
https://blogstripme.files.wordpress.com/2015/03/stripme-blog-pulpfiction11.jpg
http://images2.fanpop.com/image/photos/13100000/Pulp-Fiction-pulp-
fiction-13195732-1920-810.jpg
https://ultimaflordolacio.files.wordpress.com/2015/02/
pulpfiction_185pyxurz.jpg
https://bluevelvetblog.files.wordpress.com/2014/06/pulp-cena.jpg
https://catracalivre.com.br/wp-content/uploads/2014/07/pulp.jpg

More Related Content

Viewers also liked

Java Web Scraping
Java Web ScrapingJava Web Scraping
Java Web ScrapingSumant Raja
 
Desbravando o mundo dos webcrawlers
Desbravando o mundo dos webcrawlersDesbravando o mundo dos webcrawlers
Desbravando o mundo dos webcrawlersJoão Gabriel Lima
 
Capturando a web com Scrapy
Capturando a web com ScrapyCapturando a web com Scrapy
Capturando a web com ScrapyGabriel Freitas
 
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
 
Desenvolvendo web crawler/scraper com Python
Desenvolvendo web crawler/scraper com PythonDesenvolvendo web crawler/scraper com Python
Desenvolvendo web crawler/scraper com PythonRoselma Mendes
 
Crawleando a web feito gente grande com o scrapy
Crawleando a web feito gente grande com o scrapyCrawleando a web feito gente grande com o scrapy
Crawleando a web feito gente grande com o scrapyBernardo Fontes
 
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
 

Viewers also liked (9)

Java Web Scraping
Java Web ScrapingJava Web Scraping
Java Web Scraping
 
Web crawler
Web crawlerWeb crawler
Web crawler
 
Desbravando o mundo dos webcrawlers
Desbravando o mundo dos webcrawlersDesbravando o mundo dos webcrawlers
Desbravando o mundo dos webcrawlers
 
Scraping
ScrapingScraping
Scraping
 
Capturando a web com Scrapy
Capturando a web com ScrapyCapturando a web com Scrapy
Capturando a web com Scrapy
 
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
 
Desenvolvendo web crawler/scraper com Python
Desenvolvendo web crawler/scraper com PythonDesenvolvendo web crawler/scraper com Python
Desenvolvendo web crawler/scraper com Python
 
Crawleando a web feito gente grande com o scrapy
Crawleando a web feito gente grande com o scrapyCrawleando a web feito gente grande com o scrapy
Crawleando a web feito gente grande com o scrapy
 
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...
 

Similar to Shut up and give me the data

Desenvolvendo Aplicativos Sociais
Desenvolvendo Aplicativos SociaisDesenvolvendo Aplicativos Sociais
Desenvolvendo Aplicativos SociaisJorge Moisés Assis
 
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
 
APIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a pontaAPIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a pontaJosé Vahl
 
APIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a pontaAPIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a pontaFábio Rosato
 
Extraindo dados públicos “na marra”
Extraindo dados públicos “na marra”Extraindo dados públicos “na marra”
Extraindo dados públicos “na marra”Pedro Valente
 
ChatBots em Python em tempos de digitalização de serviços.
ChatBots em Python em tempos de digitalização de serviços. ChatBots em Python em tempos de digitalização de serviços.
ChatBots em Python em tempos de digitalização de serviços. David Alves de Souza
 
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integraçõesPHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integraçõesiMasters
 
Dev Day 2013: Push Notification + SignalR
Dev Day 2013: Push Notification + SignalRDev Day 2013: Push Notification + SignalR
Dev Day 2013: Push Notification + SignalRWalter Dias
 
Cejs notificacoes html5
Cejs notificacoes html5Cejs notificacoes html5
Cejs notificacoes html5rodrigodealer
 
Impulsionando startups com api publica
Impulsionando startups com api publicaImpulsionando startups com api publica
Impulsionando startups com api publicaFábio Rosato
 
“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
 
Evoluindo Apps e Serviços com Testes de Contrato
Evoluindo Apps e Serviços com Testes de ContratoEvoluindo Apps e Serviços com Testes de Contrato
Evoluindo Apps e Serviços com Testes de ContratoRafael Portela
 
Utilizando a API do Live Messenger (MSN) com PHP
Utilizando a API do Live Messenger (MSN) com PHPUtilizando a API do Live Messenger (MSN) com PHP
Utilizando a API do Live Messenger (MSN) com PHPAlex Piaz
 
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHPPog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHPPaulino Michelazzo
 
API's Abertas Na Web 2 0
API's Abertas Na Web 2 0API's Abertas Na Web 2 0
API's Abertas Na Web 2 0grupoass
 
Hackeando a sua comunidade
Hackeando a sua comunidadeHackeando a sua comunidade
Hackeando a sua comunidadeAna Paula Gomes
 

Similar to Shut up and give me the data (20)

Apontador API (para programadores Python)
Apontador API (para programadores Python)Apontador API (para programadores Python)
Apontador API (para programadores Python)
 
Desenvolvendo Aplicativos Sociais
Desenvolvendo Aplicativos SociaisDesenvolvendo Aplicativos Sociais
Desenvolvendo Aplicativos Sociais
 
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 ...
 
APIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a pontaAPIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a ponta
 
APIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a pontaAPIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a ponta
 
Extraindo dados públicos “na marra”
Extraindo dados públicos “na marra”Extraindo dados públicos “na marra”
Extraindo dados públicos “na marra”
 
Dados Publicos
Dados Publicos Dados Publicos
Dados Publicos
 
ChatBots em Python em tempos de digitalização de serviços.
ChatBots em Python em tempos de digitalização de serviços. ChatBots em Python em tempos de digitalização de serviços.
ChatBots em Python em tempos de digitalização de serviços.
 
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integraçõesPHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
 
Dev Day 2013: Push Notification + SignalR
Dev Day 2013: Push Notification + SignalRDev Day 2013: Push Notification + SignalR
Dev Day 2013: Push Notification + SignalR
 
Cejs notificacoes html5
Cejs notificacoes html5Cejs notificacoes html5
Cejs notificacoes html5
 
Impulsionando startups com api publica
Impulsionando startups com api publicaImpulsionando startups com api publica
Impulsionando startups com api publica
 
“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
 
Evoluindo Apps e Serviços com Testes de Contrato
Evoluindo Apps e Serviços com Testes de ContratoEvoluindo Apps e Serviços com Testes de Contrato
Evoluindo Apps e Serviços com Testes de Contrato
 
Utilizando a API do Live Messenger (MSN) com PHP
Utilizando a API do Live Messenger (MSN) com PHPUtilizando a API do Live Messenger (MSN) com PHP
Utilizando a API do Live Messenger (MSN) com PHP
 
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHPPog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
 
Introducao aos servicos de AI na AWS
Introducao aos servicos de AI na AWSIntroducao aos servicos de AI na AWS
Introducao aos servicos de AI na AWS
 
Bsides4cooler
Bsides4coolerBsides4cooler
Bsides4cooler
 
API's Abertas Na Web 2 0
API's Abertas Na Web 2 0API's Abertas Na Web 2 0
API's Abertas Na Web 2 0
 
Hackeando a sua comunidade
Hackeando a sua comunidadeHackeando a sua comunidade
Hackeando a sua comunidade
 

More from Ana Paula Gomes

In tests we trust: começando com TDD, mocks e mais
In tests we trust: começando com TDD, mocks e maisIn tests we trust: começando com TDD, mocks e mais
In tests we trust: começando com TDD, mocks e maisAna Paula Gomes
 
Flask e a sua primeira app web com python!
Flask e a sua primeira app web com python!Flask e a sua primeira app web com python!
Flask e a sua primeira app web com python!Ana Paula Gomes
 
House of data - TDC Floripa
House of data - TDC FloripaHouse of data - TDC Floripa
House of data - TDC FloripaAna Paula Gomes
 
House of data - ciência de dados para desenvolvedores
House of data - ciência de dados para desenvolvedoresHouse of data - ciência de dados para desenvolvedores
House of data - ciência de dados para desenvolvedoresAna Paula Gomes
 
TDC 2015 - Análise de Redes sociais com Python
TDC 2015 - Análise de Redes sociais com PythonTDC 2015 - Análise de Redes sociais com Python
TDC 2015 - Análise de Redes sociais com PythonAna Paula Gomes
 
Codelab - Análise de Redes Sociais com Python
Codelab - Análise de Redes Sociais com PythonCodelab - Análise de Redes Sociais com Python
Codelab - Análise de Redes Sociais com PythonAna Paula Gomes
 
Apresentação do artigo "Experimental evidence of massive-scale emotional cont...
Apresentação do artigo "Experimental evidence of massive-scale emotional cont...Apresentação do artigo "Experimental evidence of massive-scale emotional cont...
Apresentação do artigo "Experimental evidence of massive-scale emotional cont...Ana Paula Gomes
 

More from Ana Paula Gomes (8)

In tests we trust: começando com TDD, mocks e mais
In tests we trust: começando com TDD, mocks e maisIn tests we trust: começando com TDD, mocks e mais
In tests we trust: começando com TDD, mocks e mais
 
Developer anarchy
Developer anarchyDeveloper anarchy
Developer anarchy
 
Flask e a sua primeira app web com python!
Flask e a sua primeira app web com python!Flask e a sua primeira app web com python!
Flask e a sua primeira app web com python!
 
House of data - TDC Floripa
House of data - TDC FloripaHouse of data - TDC Floripa
House of data - TDC Floripa
 
House of data - ciência de dados para desenvolvedores
House of data - ciência de dados para desenvolvedoresHouse of data - ciência de dados para desenvolvedores
House of data - ciência de dados para desenvolvedores
 
TDC 2015 - Análise de Redes sociais com Python
TDC 2015 - Análise de Redes sociais com PythonTDC 2015 - Análise de Redes sociais com Python
TDC 2015 - Análise de Redes sociais com Python
 
Codelab - Análise de Redes Sociais com Python
Codelab - Análise de Redes Sociais com PythonCodelab - Análise de Redes Sociais com Python
Codelab - Análise de Redes Sociais com Python
 
Apresentação do artigo "Experimental evidence of massive-scale emotional cont...
Apresentação do artigo "Experimental evidence of massive-scale emotional cont...Apresentação do artigo "Experimental evidence of massive-scale emotional cont...
Apresentação do artigo "Experimental evidence of massive-scale emotional cont...
 

Shut up and give me the data