Post on 05-Jun-2015
description
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
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
AppsStreaming
estratégias
Crawler
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!
Aplicação 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!
Aplicação no Twitter Dev
Parâmetros
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
CSVTexto
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!
Aplicação no Twitter Dev
Parâmetros
Resposta
voltando ao streaming
streaming - mais um
import requests
streaming - mais umimport 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
IPython
scipy
networkX
numpy
NLTKmatplotlibpandas
networkX
Maria João
vértices: entidades
arestas: relacionamento
amigos
grafos
networkXimport networkx as nx!!G = nx.Graph()!!G.add_node("Maria")!G.add_node("Joao")!!G.add_edge("Maria","Joao")!
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óquioLondres
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
livros de referência
grupos de apoio
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 :)