SlideShare uma empresa Scribd logo
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

Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmosMauro Pereira
 
PostgreSQL: Performance Tuning
PostgreSQL: Performance TuningPostgreSQL: Performance Tuning
PostgreSQL: Performance Tuning
Fernando Ike
 
Python
PythonPython
Construcao de Algoritmos - Aula 05
Construcao de Algoritmos - Aula 05Construcao de Algoritmos - Aula 05
Solving the DB2 LUW Administration Dilemma
Solving the DB2 LUW Administration DilemmaSolving the DB2 LUW Administration Dilemma
Solving the DB2 LUW Administration Dilemma
Randy Goering
 
Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + Python
Mateus Padua
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoRegis Magalhães
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
Mariana Camargo
 
Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintótica
Pablo Silva
 
Paradigmas de Linguagens de Programação - Escopo estático/dinâmico
Paradigmas de Linguagens de Programação - Escopo estático/dinâmicoParadigmas de Linguagens de Programação - Escopo estático/dinâmico
Paradigmas de Linguagens de Programação - Escopo estático/dinâmicoAdriano Teixeira de Souza
 
Iniciando em Python
Iniciando em PythonIniciando em Python
Iniciando em Python
Rober Guerra
 
Introduction to memory order consume
Introduction to memory order consumeIntroduction to memory order consume
Introduction to memory order consume
Yi-Hsiu Hsu
 
Velocity 2015 linux perf tools
Velocity 2015 linux perf toolsVelocity 2015 linux perf tools
Velocity 2015 linux perf tools
Brendan Gregg
 
Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de DadosRoberto Grande
 
Processos threads senai
Processos threads senaiProcessos threads senai
Processos threads senaiCarlos Melo
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
Aislan Rafael
 
Tutorial sobre iptables
Tutorial sobre iptablesTutorial sobre iptables
Tutorial sobre iptables
Marcelo Barros de Almeida
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução BásicaChristian Perone
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)Armando Daniel
 
Intrinsic Methods in HotSpot VM
Intrinsic Methods in HotSpot VMIntrinsic Methods in HotSpot VM
Intrinsic Methods in HotSpot VM
Kris Mok
 

Mais procurados (20)

Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
 
PostgreSQL: Performance Tuning
PostgreSQL: Performance TuningPostgreSQL: Performance Tuning
PostgreSQL: Performance Tuning
 
Python
PythonPython
Python
 
Construcao de Algoritmos - Aula 05
Construcao de Algoritmos - Aula 05Construcao de Algoritmos - Aula 05
Construcao de Algoritmos - Aula 05
 
Solving the DB2 LUW Administration Dilemma
Solving the DB2 LUW Administration DilemmaSolving the DB2 LUW Administration Dilemma
Solving the DB2 LUW Administration Dilemma
 
Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + Python
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintótica
 
Paradigmas de Linguagens de Programação - Escopo estático/dinâmico
Paradigmas de Linguagens de Programação - Escopo estático/dinâmicoParadigmas de Linguagens de Programação - Escopo estático/dinâmico
Paradigmas de Linguagens de Programação - Escopo estático/dinâmico
 
Iniciando em Python
Iniciando em PythonIniciando em Python
Iniciando em Python
 
Introduction to memory order consume
Introduction to memory order consumeIntroduction to memory order consume
Introduction to memory order consume
 
Velocity 2015 linux perf tools
Velocity 2015 linux perf toolsVelocity 2015 linux perf tools
Velocity 2015 linux perf tools
 
Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de Dados
 
Processos threads senai
Processos threads senaiProcessos threads senai
Processos threads senai
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 
Tutorial sobre iptables
Tutorial sobre iptablesTutorial sobre iptables
Tutorial sobre iptables
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução Básica
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
 
Intrinsic Methods in HotSpot VM
Intrinsic Methods in HotSpot VMIntrinsic Methods in HotSpot VM
Intrinsic Methods in HotSpot VM
 

Destaque

Redes sociais usando python
Redes sociais usando pythonRedes sociais usando python
Redes sociais usando pythonyurimalheiros
 
Developer anarchy
Developer anarchyDeveloper anarchy
Developer anarchy
Ana Paula Gomes
 
Apresentação2 topologia anel (hab)
Apresentação2 topologia anel (hab)Apresentação2 topologia anel (hab)
Apresentação2 topologia anel (hab)aquilatavares
 
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
Ana 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
 
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
Vivaldo Jose Breternitz
 
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
Rodrigo Vieira
 
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...
Igor Steinmacher
 
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 ???
Alessandro Binhara
 
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
Robson Santos
 
Palestra MVP living lab ms
Palestra MVP   living lab msPalestra MVP   living lab ms
Palestra MVP living lab ms
BonoBee
 
Primeiros passos com o Cassandra
 Primeiros passos com o Cassandra  Primeiros passos com o Cassandra
Primeiros passos com o Cassandra
Otávio Santana
 
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
João Gabriel Lima
 
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
Matheus Pereira
 
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...
João Gabriel Lima
 
Bigadata casese opotunidades
Bigadata casese opotunidadesBigadata casese opotunidades
Bigadata casese opotunidades
Alessandro Binhara
 
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
Dalton Martins
 
Cases big data
Cases big dataCases big data
Cases big data
Wise Systems
 
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
PentahoBrasil
 
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
Carlos Barbieri
 

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

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"
Patricia Minamizawa
 
“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
Conviso Application Security
 
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
Bruno Rocha
 
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
Ana Paula Gomes
 
Hacking Twitter API [ Giran Siege ]
Hacking Twitter API [ Giran Siege ]Hacking Twitter API [ Giran Siege ]
Hacking Twitter API [ Giran Siege ]
Leonardo "Hackin" Freire
 
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?
Paula Santana
 
Apostila ajax
Apostila ajaxApostila ajax
Apostila ajax
jhones_vargas
 
Apontador API (para programadores Python)
Apontador API (para programadores Python)Apontador API (para programadores Python)
Apontador API (para programadores Python)
Carlos Duarte do Nascimento
 
Web Scraping
Web ScrapingWeb Scraping
Web Scraping
Fabrício Rissetto
 
Explorando a API do Google Analytics
Explorando a API do Google AnalyticsExplorando a API do Google Analytics
Explorando a API do Google Analytics
Johann Vivot
 
TweetMeToo (2010)
TweetMeToo (2010)TweetMeToo (2010)
TweetMeToo (2010)
Rafael Dahis
 
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.
Rodrigo Senra
 
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
Carlos Casalicchio
 
Hackathon UOL
Hackathon  UOL Hackathon  UOL
Hackathon UOL
Regina Cantele
 
O que podemos fazer com Python?
O que podemos fazer com Python?O que podemos fazer com Python?
O que podemos fazer com Python?
Izabela Guerreiro
 
Treze ferramentas/frameworks para desenvolvimento Android
Treze ferramentas/frameworks para desenvolvimento AndroidTreze ferramentas/frameworks para desenvolvimento Android
Treze ferramentas/frameworks para desenvolvimento Android
Adriano Rocha
 
Treze ferramentas/frameworks para desenvolvimento android
Treze ferramentas/frameworks para desenvolvimento androidTreze ferramentas/frameworks para desenvolvimento android
Treze ferramentas/frameworks para desenvolvimento android
Ricardo Longa
 
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
Carlos Duarte do Nascimento
 
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
tonyrodrigues
 

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

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
Ana 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 Floripa
Ana Paula Gomes
 
Hackeando a sua comunidade
Hackeando a sua comunidadeHackeando a sua comunidade
Hackeando a sua comunidade
Ana 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 desenvolvedores
Ana 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
 

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 :)