SlideShare uma empresa Scribd logo
1 de 58
Baixar para ler offline
Análise de Redes Sociais 
com Python 
Women Who Code
Women Who Code
@AnaPaulaGomess
Análise de Redes Sociais 
com Python 
Women Who Code
Análise de Redes Sociais 
com Python 
Women Who Code
Análise de Redes Sociais 
com Python 
Women Who Code
um slide sério 
• Dados 
• Coleta, formatos e estratégias 
• Extração de conhecimento 
• Técnicas
Dados
redes sociais que tem APIs
algumas fontes de dados
Estratégias
estratégias 
Apps 
Streaming
estratégias 
Crawler
streaming 
Tweets públicos 
Limite de requisições 
1% dos tweets 
disponíveis
streaming 
from TwitterAPI import TwitterAPI!
streaming 
Aplicação no Twitter Dev 
from TwitterAPI import TwitterAPI! 
! 
twitter_api = TwitterAPI(consumer_key='cPRnaEpnPEO2fqzg5mFr11w', ! 
! consumer_secret='PaHdWBa8yzYoUDT1S5Mm43YilQWPT6zfFT121WnzoVA', ! 
! access_token_key='50638811-j4wYVSgidkLVbJO1qvLAD35vph21kd5bECQcd52Un4l',! 
! access_token_secret='JhEnszLTFpmDf1B04lseZwDH6s2l3Si45AnbLnZJ5Hl3jhR')! 
! 
filters = {! 
"track": ["just completed","runkeeper"]! 
}! 
! 
stream = twitter_api.request('statuses/filter', filters)! 
! 
for item in stream.get_iterator():! 
! print item!
streaming
streaming 
Aplicação no Twitter Dev 
from TwitterAPI import TwitterAPI! 
! 
twitter_api = TwitterAPI(consumer_key='cPRnaEpnPEO2fqzg5mFr11w', ! 
! consumer_secret='PaHdWBa8yzYoUDT1S5Mm43YilQWPT6zfFT121WnzoVA', ! 
! access_token_key='50638811-j4wYVSgidkLVbJO1qvLAD35vph21kd5bECQcd52Un4l',! 
! access_token_secret='JhEnszLTFpmDf1B04lseZwDH6s2l3Si45AnbLnZJ5Hl3jhR')! 
! 
filters = {! 
"track": ["just completed","runkeeper"]! 
Parâmetros 
}! 
! 
stream = twitter_api.request('statuses/filter', filters)! 
! 
for item in stream.get_iterator():! 
! print item! 
Resposta
streaming - another way 
import urllib2 as urllib!
streaming - another way 
def twitterreq(url, method, parameters):! 
req = oauth.Request.from_consumer_and_token(oauth_consumer,! 
token=oauth_token,! 
http_method=http_method,! 
http_url=url, ! 
parameters=parameters)! 
! 
req.sign_request(signature_method_hmac_sha1, oauth_consumer, oauth_token)! 
! 
headers = req.to_header()! 
! 
if http_method == "POST":! 
encoded_post_data = req.to_postdata()! 
else:! 
encoded_post_data = None! 
url = req.to_url()! 
! 
opener = urllib.OpenerDirector()! 
opener.add_handler(http_handler)! 
opener.add_handler(https_handler)! 
! 
response = opener.open(url, encoded_post_data)! 
! 
return response!
formatos 
KML 
Texto CSV 
JSON 
RSS 
XML 
RDF
JSON
import simplejson as json!
voltando ao streaming 
Aplicação no Twitter Dev 
from TwitterAPI import TwitterAPI! 
! 
twitter_api = TwitterAPI(consumer_key='cPRnaEpnPEO2fqzg5mFr11w', ! 
! consumer_secret='PaHdWBa8yzYoUDT1S5Mm43YilQWPT6zfFT121WnzoVA', ! 
! access_token_key='50638811-j4wYVSgidkLVbJO1qvLAD35vph21kd5bECQcd52Un4l',! 
! access_token_secret='JhEnszLTFpmDf1B04lseZwDH6s2l3Si45AnbLnZJ5Hl3jhR')! 
! 
filters = {! 
"track": ["just completed","runkeeper"]! 
Parâmetros 
}! 
! 
stream = twitter_api.request('statuses/filter', filters)! 
! 
for item in stream.get_iterator():! 
! print item! 
Resposta
voltando ao streaming
streaming - mais um 
import requests
streaming - mais um 
import requests! 
import time! 
import hashlib! 
import simplejson as json! 
! 
PUBLIC_KEY = '2124cb975af929a3d80d511bc07daxxc69'! 
PRIVATE_KEY = '19d2d72ced9cdfcadcf1347626acfbaqwe120fc7bad'! 
! 
ts = int(time.time())! 
! 
m = hashlib.md5(str(ts)+PRIVATE_KEY+PUBLIC_KEY).hexdigest()! 
! 
arquivo = open('personagens.json', 'a')! 
! 
for n in range(0,1500,100):! 
! params = {'apikey': PUBLIC_KEY,'ts': ts, 'hash': m, 'limit': 100, 'offset': 
n}! 
! r = requests.get('http://gateway.marvel.com/v1/public/characters', 
params=params)! 
! for j in json.loads(r.text)['data']['results']:! 
! ! temp = json.dumps(j)! 
! ! arquivo.write(temp + 'n')
Agora eu tenho os dados que preciso. 
#ComoLidar ?
Mineração de Dados
mineração de dados 
numpy 
matplotlib NLTK 
IPython 
scipy 
networkX 
pandas
matplotlibnumpypandas
networkX
networkX 
grafos 
Maria João 
vértices: entidades 
arestas: relacionamento 
amigos
networkX 
grafos 
aresta 
vértice vértice
networkX 
import networkx as nx!
networkX 
import networkx as nx! 
! 
G = nx.Graph()! 
! 
G.add_node("Maria")! 
G.add_node("Joao")! 
! 
G.add_edge("Maria","Joao")!
networkX 
nx.write_gml(G, 'minha_rede.gml')!
visualização
visualização
minha pesquisa
Você é o seu check-in: 
entendendo o comportamento de turistas e 
residentes usando dados do Foursquare
dados 
Abril de 2012 
Twitter / Foursquare Rio de 
Janeiro 
Tóquio 
Londres 
Nova 
Iorque
modelagem 
local[horário] local[horário] 
vértices: locais 
arestas: movimentação 
deslocamento
modelagem 
Maracanã[18] Lapa[23] 
vértices: locais 
arestas: movimentação
grafo
uns gráficos pra 
deixar um ar científico 
um oferecimento de pandas e matplotlib
descobertas 
Padrão cultural varia entre turistas e residentes 
Correlação entre as categorias 
Os mesmos locais apresentam comportamentos 
diferentes 
Pontos estratégicos
e isso serve pra quê mesmo? 
sistemas de recomendação 
planejamento urbano 
análise de mercado
ajuda!
livros de referência
grupos de apoio
Obrigada! :) 
apgomes88@gmail.com
todo mundo aqui ajudou: 
https://www.womenwhocode.com/ 
http://www.corbisimages.com/stock-photo/rights-managed/42-58516442/the-excavation-of-the-terracotta- 
sculptures-in?popup=1 
https://www.python.org/static/community_logos/python-logo-master-v3-TM.png 
http://www.bandeirantes820.com.br/site/wp-content/uploads/2014/05/redes-sociais-inundaweb.jpg 
http://images.hngn.com/data/images/full/26065/petition-asks-u-s-government-to-classify-feminism-as-terrorist- 
group.jpg 
http://www.corbisimages.com/stock-photo/rights-managed/42-60482740/dice-box-and-cubes?popup=1 
http://www.tecnomania.com.br/ :) 
http://www.corbisimages.com/stock-photo/rights-managed/42-60482740/dice-box-and-cubes?popup=1
todo mundo aqui ajudou: 
https://github.com/geduldig/TwitterAPI 
http://www.corbis.com 
http://www.cytoscape.org/ 
http://gephi.github.io/ 
https://networkx.github.io/examples.html 
! 
E as demais que esqueci de referenciar :)

Mais conteúdo relacionado

Mais procurados

SQLチューニング入門 入門編
SQLチューニング入門 入門編SQLチューニング入門 入門編
SQLチューニング入門 入門編
Miki Shimogai
 
Modelo entidade relacionamento
Modelo entidade relacionamentoModelo entidade relacionamento
Modelo entidade relacionamento
Carlos Melo
 
SQLアンチパターン(インデックスショットガン)
SQLアンチパターン(インデックスショットガン)SQLアンチパターン(インデックスショットガン)
SQLアンチパターン(インデックスショットガン)
Tomoaki Uchida
 

Mais procurados (20)

Fluentdで本番環境を再現
Fluentdで本番環境を再現Fluentdで本番環境を再現
Fluentdで本番環境を再現
 
데브옵스(DevOps)의 현재와 미래 - ChatOps & VoiceOps (윤석찬)
데브옵스(DevOps)의 현재와 미래 - ChatOps & VoiceOps (윤석찬)데브옵스(DevOps)의 현재와 미래 - ChatOps & VoiceOps (윤석찬)
데브옵스(DevOps)의 현재와 미래 - ChatOps & VoiceOps (윤석찬)
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
 
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
 
[29DCF] PostgreSQL에서 DB Lock을 줄이는 5가지 팁
[29DCF] PostgreSQL에서 DB Lock을 줄이는 5가지 팁[29DCF] PostgreSQL에서 DB Lock을 줄이는 5가지 팁
[29DCF] PostgreSQL에서 DB Lock을 줄이는 5가지 팁
 
SQLチューニング入門 入門編
SQLチューニング入門 入門編SQLチューニング入門 入門編
SQLチューニング入門 入門編
 
Little Big Data #1. 바닥부터 시작하는 데이터 인프라
Little Big Data #1. 바닥부터 시작하는 데이터 인프라Little Big Data #1. 바닥부터 시작하는 데이터 인프라
Little Big Data #1. 바닥부터 시작하는 데이터 인프라
 
글쓰는 개발자 모임, 글또
글쓰는 개발자 모임, 글또글쓰는 개발자 모임, 글또
글쓰는 개발자 모임, 글또
 
Modelo entidade relacionamento
Modelo entidade relacionamentoModelo entidade relacionamento
Modelo entidade relacionamento
 
MySQL Query Optimization
MySQL Query OptimizationMySQL Query Optimization
MySQL Query Optimization
 
Python 3のWebシステムでDDDに入門してみた
Python 3のWebシステムでDDDに入門してみたPython 3のWebシステムでDDDに入門してみた
Python 3のWebシステムでDDDに入門してみた
 
Análise de Algoritmos - Método Guloso
Análise de Algoritmos - Método GulosoAnálise de Algoritmos - Método Guloso
Análise de Algoritmos - Método Guloso
 
HTML - Aula 01 - Estrutura básica e tags básicas no html
HTML - Aula 01 - Estrutura básica e tags básicas no htmlHTML - Aula 01 - Estrutura básica e tags básicas no html
HTML - Aula 01 - Estrutura básica e tags básicas no html
 
Curso CSS 3 - Aula Introdutória com conceitos básicos
Curso CSS 3 - Aula Introdutória com conceitos básicosCurso CSS 3 - Aula Introdutória com conceitos básicos
Curso CSS 3 - Aula Introdutória com conceitos básicos
 
PHP e MySQL para iniciantes
PHP e MySQL para iniciantesPHP e MySQL para iniciantes
PHP e MySQL para iniciantes
 
PostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解くPostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解く
 
SQLアンチパターン(インデックスショットガン)
SQLアンチパターン(インデックスショットガン)SQLアンチパターン(インデックスショットガン)
SQLアンチパターン(インデックスショットガン)
 
[부스트캠프 Tech Talk] 김봉진_WandB로 Auto ML 뿌수기
[부스트캠프 Tech Talk] 김봉진_WandB로 Auto ML 뿌수기[부스트캠프 Tech Talk] 김봉진_WandB로 Auto ML 뿌수기
[부스트캠프 Tech Talk] 김봉진_WandB로 Auto ML 뿌수기
 
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探しリッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
 
Ch6 대용량서비스레퍼런스아키텍처 part.1
Ch6 대용량서비스레퍼런스아키텍처 part.1Ch6 대용량서비스레퍼런스아키텍처 part.1
Ch6 대용량서비스레퍼런스아키텍처 part.1
 

Destaque

Redes sociais usando python
Redes sociais usando pythonRedes sociais usando python
Redes sociais usando python
yurimalheiros
 
Apresentação2 topologia anel (hab)
Apresentação2 topologia anel (hab)Apresentação2 topologia anel (hab)
Apresentação2 topologia anel (hab)
aquilatavares
 
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
Ana Paula Gomes
 

Destaque (20)

Redes sociais usando python
Redes sociais usando pythonRedes sociais usando python
Redes sociais usando python
 
Developer anarchy
Developer anarchyDeveloper anarchy
Developer anarchy
 
Apresentação2 topologia anel (hab)
Apresentação2 topologia anel (hab)Apresentação2 topologia anel (hab)
Apresentação2 topologia anel (hab)
 
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
 
Big Data, Analytics e o Cientista de Dados – um novo campo de trabalho se abre
Big Data, Analytics e o Cientista de Dados – um novo campo de trabalho se abreBig Data, Analytics e o Cientista de Dados – um novo campo de trabalho se abre
Big Data, Analytics e o Cientista de Dados – um novo campo de trabalho se abre
 
De dev para data scientist 3 coisas que aprendi
De dev para data scientist  3 coisas que aprendiDe dev para data scientist  3 coisas que aprendi
De dev para data scientist 3 coisas que aprendi
 
MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...
MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...
MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...
 
O queo facebook faz com minhas fotos??? E o que o BigData tem haver com isso ???
O queo facebook faz com minhas fotos??? E o que o BigData tem haver com isso ???O queo facebook faz com minhas fotos??? E o que o BigData tem haver com isso ???
O queo facebook faz com minhas fotos??? E o que o BigData tem haver com isso ???
 
Usabilidade de interface para busca e recuperação de informação na web
Usabilidade de interface para busca e recuperação de informação na webUsabilidade de interface para busca e recuperação de informação na web
Usabilidade de interface para busca e recuperação de informação na web
 
Palestra MVP living lab ms
Palestra MVP   living lab msPalestra MVP   living lab ms
Palestra MVP living lab ms
 
Primeiros passos com o Cassandra
 Primeiros passos com o Cassandra  Primeiros passos com o Cassandra
Primeiros passos com o Cassandra
 
Mineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e WekaMineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e Weka
 
Mantendo seu Tempo a salvo com Python e Git
Mantendo seu Tempo a salvo com Python e GitMantendo seu Tempo a salvo com Python e Git
Mantendo seu Tempo a salvo com Python e Git
 
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
 
Bigadata casese opotunidades
Bigadata casese opotunidadesBigadata casese opotunidades
Bigadata casese opotunidades
 
Mineração de dados e novas oportunidades de análise para sistemas de informação
Mineração de dados e novas oportunidades de análise para sistemas de informaçãoMineração de dados e novas oportunidades de análise para sistemas de informação
Mineração de dados e novas oportunidades de análise para sistemas de informação
 
Cases big data
Cases big dataCases big data
Cases big data
 
Criando soluções de BI com Pentaho e Dados Abertos @ Pentaho Day 2013
Criando soluções de BI com Pentaho e Dados Abertos @ Pentaho Day 2013Criando soluções de BI com Pentaho e Dados Abertos @ Pentaho Day 2013
Criando soluções de BI com Pentaho e Dados Abertos @ Pentaho Day 2013
 
Governança de Dados e Big Data_v02
Governança de Dados e Big Data_v02Governança de Dados e Big Data_v02
Governança de Dados e Big Data_v02
 

Semelhante a Análise de Redes Sociais com Python

Semelhante a Análise de Redes Sociais com Python (20)

Sobre o workshop "Raspagem de dados para mulheres"
Sobre o workshop "Raspagem de dados para mulheres"Sobre o workshop "Raspagem de dados para mulheres"
Sobre o workshop "Raspagem de dados para mulheres"
 
“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
 
PyData - Consumindo e publicando web APIs com Python
PyData - Consumindo e publicando web APIs com PythonPyData - Consumindo e publicando web APIs com Python
PyData - Consumindo e publicando web APIs com Python
 
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
 
Hacking Twitter API [ Giran Siege ]
Hacking Twitter API [ Giran Siege ]Hacking Twitter API [ Giran Siege ]
Hacking Twitter API [ Giran Siege ]
 
Bsides4cooler
Bsides4coolerBsides4cooler
Bsides4cooler
 
Graphql - o que é, onde e porque usar?
Graphql - o que é, onde e porque usar?Graphql - o que é, onde e porque usar?
Graphql - o que é, onde e porque usar?
 
Apostila ajax
Apostila ajaxApostila ajax
Apostila ajax
 
Apontador API (para programadores Python)
Apontador API (para programadores Python)Apontador API (para programadores Python)
Apontador API (para programadores Python)
 
Web Scraping
Web ScrapingWeb Scraping
Web Scraping
 
Explorando a API do Google Analytics
Explorando a API do Google AnalyticsExplorando a API do Google Analytics
Explorando a API do Google Analytics
 
TweetMeToo (2010)
TweetMeToo (2010)TweetMeToo (2010)
TweetMeToo (2010)
 
Python: Cabe no seu bolso, no seu micro, no seu cérebro.
Python: Cabe no seu bolso, no seu micro, no seu cérebro.Python: Cabe no seu bolso, no seu micro, no seu cérebro.
Python: Cabe no seu bolso, no seu micro, no seu cérebro.
 
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
 
Hackathon UOL
Hackathon  UOL Hackathon  UOL
Hackathon UOL
 
O que podemos fazer com Python?
O que podemos fazer com Python?O que podemos fazer com Python?
O que podemos fazer com Python?
 
Treze ferramentas/frameworks para desenvolvimento Android
Treze ferramentas/frameworks para desenvolvimento AndroidTreze ferramentas/frameworks para desenvolvimento Android
Treze ferramentas/frameworks para desenvolvimento Android
 
Treze ferramentas/frameworks para desenvolvimento android
Treze ferramentas/frameworks para desenvolvimento androidTreze ferramentas/frameworks para desenvolvimento android
Treze ferramentas/frameworks para desenvolvimento android
 
Mashups: Criando Valor na Web 2.0
Mashups: Criando Valor na Web 2.0Mashups: Criando Valor na Web 2.0
Mashups: Criando Valor na Web 2.0
 
Tony\'s Top 10 Computer Forensics Artifacts
Tony\'s Top 10 Computer Forensics ArtifactsTony\'s Top 10 Computer Forensics Artifacts
Tony\'s Top 10 Computer Forensics Artifacts
 

Mais de Ana Paula Gomes

Mais de Ana Paula Gomes (6)

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
 
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
 
Hackeando a sua comunidade
Hackeando a sua comunidadeHackeando a sua comunidade
Hackeando a sua comunidade
 
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
 
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...
 

Análise de Redes Sociais com Python

  • 1. Análise de Redes Sociais com Python Women Who Code
  • 4.
  • 5. Análise de Redes Sociais com Python Women Who Code
  • 6. Análise de Redes Sociais com Python Women Who Code
  • 7. Análise de Redes Sociais com Python Women Who Code
  • 8. um slide sério • Dados • Coleta, formatos e estratégias • Extração de conhecimento • Técnicas
  • 10.
  • 11. redes sociais que tem APIs
  • 16. streaming Tweets públicos Limite de requisições 1% dos tweets disponíveis
  • 17. streaming from TwitterAPI import TwitterAPI!
  • 18. streaming Aplicação no Twitter Dev from TwitterAPI import TwitterAPI! ! twitter_api = TwitterAPI(consumer_key='cPRnaEpnPEO2fqzg5mFr11w', ! ! consumer_secret='PaHdWBa8yzYoUDT1S5Mm43YilQWPT6zfFT121WnzoVA', ! ! access_token_key='50638811-j4wYVSgidkLVbJO1qvLAD35vph21kd5bECQcd52Un4l',! ! access_token_secret='JhEnszLTFpmDf1B04lseZwDH6s2l3Si45AnbLnZJ5Hl3jhR')! ! filters = {! "track": ["just completed","runkeeper"]! }! ! stream = twitter_api.request('statuses/filter', filters)! ! for item in stream.get_iterator():! ! print item!
  • 20. streaming Aplicação no Twitter Dev from TwitterAPI import TwitterAPI! ! twitter_api = TwitterAPI(consumer_key='cPRnaEpnPEO2fqzg5mFr11w', ! ! consumer_secret='PaHdWBa8yzYoUDT1S5Mm43YilQWPT6zfFT121WnzoVA', ! ! access_token_key='50638811-j4wYVSgidkLVbJO1qvLAD35vph21kd5bECQcd52Un4l',! ! access_token_secret='JhEnszLTFpmDf1B04lseZwDH6s2l3Si45AnbLnZJ5Hl3jhR')! ! filters = {! "track": ["just completed","runkeeper"]! Parâmetros }! ! stream = twitter_api.request('statuses/filter', filters)! ! for item in stream.get_iterator():! ! print item! Resposta
  • 21. streaming - another way import urllib2 as urllib!
  • 22. streaming - another way def twitterreq(url, method, parameters):! req = oauth.Request.from_consumer_and_token(oauth_consumer,! token=oauth_token,! http_method=http_method,! http_url=url, ! parameters=parameters)! ! req.sign_request(signature_method_hmac_sha1, oauth_consumer, oauth_token)! ! headers = req.to_header()! ! if http_method == "POST":! encoded_post_data = req.to_postdata()! else:! encoded_post_data = None! url = req.to_url()! ! opener = urllib.OpenerDirector()! opener.add_handler(http_handler)! opener.add_handler(https_handler)! ! response = opener.open(url, encoded_post_data)! ! return response!
  • 23. formatos KML Texto CSV JSON RSS XML RDF
  • 24. JSON
  • 25.
  • 27. voltando ao streaming Aplicação no Twitter Dev from TwitterAPI import TwitterAPI! ! twitter_api = TwitterAPI(consumer_key='cPRnaEpnPEO2fqzg5mFr11w', ! ! consumer_secret='PaHdWBa8yzYoUDT1S5Mm43YilQWPT6zfFT121WnzoVA', ! ! access_token_key='50638811-j4wYVSgidkLVbJO1qvLAD35vph21kd5bECQcd52Un4l',! ! access_token_secret='JhEnszLTFpmDf1B04lseZwDH6s2l3Si45AnbLnZJ5Hl3jhR')! ! filters = {! "track": ["just completed","runkeeper"]! Parâmetros }! ! stream = twitter_api.request('statuses/filter', filters)! ! for item in stream.get_iterator():! ! print item! Resposta
  • 29. streaming - mais um import requests
  • 30. streaming - mais um import requests! import time! import hashlib! import simplejson as json! ! PUBLIC_KEY = '2124cb975af929a3d80d511bc07daxxc69'! PRIVATE_KEY = '19d2d72ced9cdfcadcf1347626acfbaqwe120fc7bad'! ! ts = int(time.time())! ! m = hashlib.md5(str(ts)+PRIVATE_KEY+PUBLIC_KEY).hexdigest()! ! arquivo = open('personagens.json', 'a')! ! for n in range(0,1500,100):! ! params = {'apikey': PUBLIC_KEY,'ts': ts, 'hash': m, 'limit': 100, 'offset': n}! ! r = requests.get('http://gateway.marvel.com/v1/public/characters', params=params)! ! for j in json.loads(r.text)['data']['results']:! ! ! temp = json.dumps(j)! ! ! arquivo.write(temp + 'n')
  • 31. Agora eu tenho os dados que preciso. #ComoLidar ?
  • 33. mineração de dados numpy matplotlib NLTK IPython scipy networkX pandas
  • 36. networkX grafos Maria João vértices: entidades arestas: relacionamento amigos
  • 37. networkX grafos aresta vértice vértice
  • 39. networkX import networkx as nx! ! G = nx.Graph()! ! G.add_node("Maria")! G.add_node("Joao")! ! G.add_edge("Maria","Joao")!
  • 44. Você é o seu check-in: entendendo o comportamento de turistas e residentes usando dados do Foursquare
  • 45. dados Abril de 2012 Twitter / Foursquare Rio de Janeiro Tóquio Londres Nova Iorque
  • 46. modelagem local[horário] local[horário] vértices: locais arestas: movimentação deslocamento
  • 47. modelagem Maracanã[18] Lapa[23] vértices: locais arestas: movimentação
  • 48. grafo
  • 49. uns gráficos pra deixar um ar científico um oferecimento de pandas e matplotlib
  • 50. descobertas Padrão cultural varia entre turistas e residentes Correlação entre as categorias Os mesmos locais apresentam comportamentos diferentes Pontos estratégicos
  • 51. e isso serve pra quê mesmo? sistemas de recomendação planejamento urbano análise de mercado
  • 52.
  • 57. todo mundo aqui ajudou: https://www.womenwhocode.com/ http://www.corbisimages.com/stock-photo/rights-managed/42-58516442/the-excavation-of-the-terracotta- sculptures-in?popup=1 https://www.python.org/static/community_logos/python-logo-master-v3-TM.png http://www.bandeirantes820.com.br/site/wp-content/uploads/2014/05/redes-sociais-inundaweb.jpg http://images.hngn.com/data/images/full/26065/petition-asks-u-s-government-to-classify-feminism-as-terrorist- group.jpg http://www.corbisimages.com/stock-photo/rights-managed/42-60482740/dice-box-and-cubes?popup=1 http://www.tecnomania.com.br/ :) http://www.corbisimages.com/stock-photo/rights-managed/42-60482740/dice-box-and-cubes?popup=1
  • 58. todo mundo aqui ajudou: https://github.com/geduldig/TwitterAPI http://www.corbis.com http://www.cytoscape.org/ http://gephi.github.io/ https://networkx.github.io/examples.html ! E as demais que esqueci de referenciar :)