Você está na página 1de 58

Anlise de Redes Sociais

com Python
Women Who Code
Women Who Code
@AnaPaulaGomess
Anlise de Redes Sociais
com Python
Women Who Code
Anlise de Redes Sociais
com Python
Women Who Code
Anlise de Redes Sociais
com Python
Women Who Code
um slide srio
Dados

Coleta, formatos e estratgias


Extrao de conhecimento

Tcnicas
Dados
redes sociais que tem APIs
algumas fontes de dados
Estratgias
estratgias
Apps
Streaming
estratgias
Crawler
streaming
Tweets pblicos
Limite de requisies
1% dos tweets
disponveis
streaming
from TwitterAPI import TwitterAPI
streaming
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
Aplicao no Twitter Dev
streaming
streaming
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
Aplicao no Twitter Dev
Parmetros
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
JSON
RSS
XML
KML
CSV
Texto
RDF
JSON
import simplejson as json
voltando ao streaming
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
Aplicao no Twitter Dev
Parmetros
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 ?
Minerao de Dados
minerao de dados
IPython
scipy
networkX
numpy
NLTK
matplotlib
pandas
matplotlibnumpypandas
networkX
networkX
Maria Joo
vrtices: entidades
arestas: relacionamento
amigos
grafos
networkX
vrtice vrtice
aresta
grafos
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')
visualizao
visualizao
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
Tquio
Londres
Nova
Iorque
modelagem
local[horrio] local[horrio]
vrtices: locais
arestas: movimentao
deslocamento
modelagem
Maracan[18] Lapa[23]
vrtices: locais
arestas: movimentao
grafo
uns grficos pra
deixar um ar cientfico
um oferecimento de pandas e matplotlib
descobertas
Padro cultural varia entre turistas e residentes
Correlao entre as categorias
Os mesmos locais apresentam comportamentos
diferentes
Pontos estratgicos
e isso serve pra qu mesmo?
sistemas de recomendao
planejamento urbano
anlise de mercado
ajuda!
livros de referncia
grupos de apoio
apgomes88@gmail.com
Obrigada! :)
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 :)

Você também pode gostar