O USO DE DADOS PÚBLICOS PARA O ACOMPANHAMENTO DA ATIVIDADE PARLAMENTAR
Coletando dados do Twitter via Application Programming Interface (API)
1. Universidade Estadual Paulista
Encontro Internacional Dados,
Tecnologia e Informação
Coletando dados do Twitter via Application
Programming Interface (API)
M.Sc. Fernando de Assis Rodrigues (@orionx7)
Departamento de Ciência da Informação
Faculdade de Filosofia e Ciências
Campus Marília, SP
2. Fernando de Assis Rodrigues - 2013 2
Este Slide está disponível em
http://www.slideshare.net/orionx7
3. Fernando de Assis Rodrigues - 2013 3
Objetivos
● Twitter
● API
● Python
● oAuth
● Exemplos
4. Fernando de Assis Rodrigues - 2013 4
Twitter
● Serviço
● http://twitter.com
● Rede Social
● 2006
● Jack Dorsey, Noah Glass, Evan Williams e Biz Stone
● Permite que seus usuários envie mensagens →
conhecidas como tweets
– Broadcasting: mensagens são enviadas muitos receptores
ao mesmo tempo
●
5. Fernando de Assis Rodrigues - 2013 5
Twitter
● US$ 140 milhões
● +900 funcionários
● Escritórios em diversas localidades
● Sede em São Francisco, CA - EUA
● Inclusive abrindo um no Brasil
– Jogos Olímpicos, Copa do Mundo...
● 140 milhões de usuários ativos
● 340 milhões de tweets por dia
● Top 5: Indonésia, Brasil, Venezuela, Holanda e Japão
6. Fernando de Assis Rodrigues - 2013 6
Twitter
● Rede Social
● Perfil privado/público
– Afeta diretamente o broadcasting
● Solicitações de amizade
– Seguidores e seguidos
● Cadastro
– Sem cadastro, pode observar perfil público
7. Fernando de Assis Rodrigues - 2013 7
Twitter
● Microblogging
● Tweets
– Limitados a 140 caracteres
– Geolocalização*
– Fotografia*
– Hyperlinks*
– Hashtags*
* itens opcionais
8. Fernando de Assis Rodrigues - 2013 8
Twitter
● Microblogging
● Retweets - “retuitar”
– Passar à frente para seus seguidores tweets de quem
você segue
● Diretamente
● Indiretamente: “RT:”
● Identificação de outros perfis
– Símbolo “@”
● @orionx7 estou ministrando uma oficina sobre api do #twitter
9. Fernando de Assis Rodrigues - 2013 9
Twitter
● Hashtags
● Usados para agrupar os tweets por tópicos
– Uso do símbolo “#” antes do tópico
● #ficadica
● #ironia
● #saúde
● #vergonha
– Hashtag spam
● Bom dia #bom #dia #bomdia #hahaha #sabadinho #sabado
#galera
10. Fernando de Assis Rodrigues - 2013 10
Twitter
Fonte: https://blog.twitter.com/2012/twitter-turns-six
11. Fernando de Assis Rodrigues - 2013 11
Twitter Notícias
Spam
Auto Promoção
“chitchat”
Retweets
Conversas
Fonte: Pear Analytics
12. Fernando de Assis Rodrigues - 2013 12
Twitter
● Trending Topics
● Análise do próprio twitter sobre os assuntos mais
“tuitados” em um determinado período de tempo
● Principalmente baseado em hashtags e na geolocalização
ou via faixa de ip
● Third-party Apps
● Aplicações que adicionam funcionalidades a estrutura do
Twitter
– http://twitcam.livestream.com – transmissão de vídeos via Twitter
– TweetDeck
13. Fernando de Assis Rodrigues - 2013 13
Twitter
● Openess
● Possibilidade de utilizar dados do twitter em outros
contextos
– Coletar dados
– Perfis Públicos
14. Fernando de Assis Rodrigues - 2013 14
Twitter
● Application Programming Interface (API)
● Protocolo para interface entre aplicações
● Permite o acesso aos dados de uma determinada
aplicação por aplicativos ou algoritmos criados por
terceiros
– Regras de negócio
15. Fernando de Assis Rodrigues - 2013 15
Twitter
DB
Twitter.com
API
TweetDeck
Twitter
16. Fernando de Assis Rodrigues - 2013 16
Twitter
● Basicamente
● Escrever um algoritmo
– Conecte
– Execute uma ação
– Recupere um dataset
– Seguindo as regras da API
● Twitter: https://dev.twitter.com/docs
17. Fernando de Assis Rodrigues - 2013 17
Twitter
● oAuth
● Sistema identificação de aplicações necessário
para criar aplicações que usam a base de dados do
Twitter
– https://dev.twitter.com/apps
18. Fernando de Assis Rodrigues - 2013 18
Twitter
● Create a new application
21. Fernando de Assis Rodrigues - 2013 21
Twitter
● Consumer key
● Consumer secret
22. Fernando de Assis Rodrigues - 2013 22
Twitter
● Criando um token, você autoriza sua nova
aplicação tenha acesso a sua conta do Twitter
23. Fernando de Assis Rodrigues - 2013 23
Python
Python is a programming language that lets you
work more quickly and integrate your systems
more effectively. You can learn to use Python and
see almost immediate gains in productivity and
lower maintenance costs.
24. Fernando de Assis Rodrigues - 2013 24
Python
● Instalando o python
● http://www.python.org/
● Instalando o python-oauth2
● https://github.com/simplegeo/python-oauth2
● Ou usando o python-pip
● pip install oauth2
25. Fernando de Assis Rodrigues - 2013 25
Coletando dados do Twitter via public
streaming
26. Fernando de Assis Rodrigues - 2013 26
Twitter
● Streaming API
● https://dev.twitter.com/docs/streaming-apis
● JSON – JavaScript Object Notation
– XML
– http://jsonviewer.stack.hu/
● Usando e adaptando o script:
● Gustav Arngården
● http://www.arngarden.com/2012/11/07/consuming-
twitters-streaming-api-using-python-and-curl/
27. Fernando de Assis Rodrigues - 2013 27
Twitter
1. Usando o script de Gustav Arngården
2. Adaptando o script
a. Parar e ver apenas um post completo
● Visualizando uma resposta em notação JSON
b. Parar e ver apenas alguns atributos de um post
c. Coletando os posts do streaming para um arquivo
CSV
28. Fernando de Assis Rodrigues - 2013 28
Obrigado!
fernando@elleth.org
@orionx7