Coletando dados do Twitter via Application Programming Interface (API)

1,905 views

Published on

Coleta de Dados do Twitter via API. Usando a Streaming API com python, oAuth e acumulando em CSV para uso em pesquisas científicas.

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,905
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
45
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Coletando dados do Twitter via Application Programming Interface (API)

  1. 1. Universidade Estadual PaulistaEncontro Internacional Dados,Tecnologia e InformaçãoColetando dados do Twitter via ApplicationProgramming Interface (API)M.Sc. Fernando de Assis Rodrigues (@orionx7)Departamento de Ciência da InformaçãoFaculdade de Filosofia e CiênciasCampus Marília, SP
  2. 2. Fernando de Assis Rodrigues - 2013 2Este Slide está disponível emhttp://www.slideshare.net/orionx7
  3. 3. Fernando de Assis Rodrigues - 2013 3Objetivos● Twitter● API● Python● oAuth● Exemplos
  4. 4. Fernando de Assis Rodrigues - 2013 4Twitter● 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 receptoresao mesmo tempo●
  5. 5. Fernando de Assis Rodrigues - 2013 5Twitter● 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. 6. Fernando de Assis Rodrigues - 2013 6Twitter● 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. 7. Fernando de Assis Rodrigues - 2013 7Twitter● Microblogging● Tweets– Limitados a 140 caracteres– Geolocalização*– Fotografia*– Hyperlinks*– Hashtags** itens opcionais
  8. 8. Fernando de Assis Rodrigues - 2013 8Twitter● Microblogging● Retweets - “retuitar”– Passar à frente para seus seguidores tweets de quemvocê segue● Diretamente● Indiretamente: “RT:”● Identificação de outros perfis– Símbolo “@”● @orionx7 estou ministrando uma oficina sobre api do #twitter
  9. 9. Fernando de Assis Rodrigues - 2013 9Twitter● 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. 10. Fernando de Assis Rodrigues - 2013 10TwitterFonte: https://blog.twitter.com/2012/twitter-turns-six
  11. 11. Fernando de Assis Rodrigues - 2013 11Twitter NotíciasSpamAuto Promoção“chitchat”RetweetsConversasFonte: Pear Analytics
  12. 12. Fernando de Assis Rodrigues - 2013 12Twitter● 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çãoou via faixa de ip● Third-party Apps● Aplicações que adicionam funcionalidades a estrutura doTwitter– http://twitcam.livestream.com – transmissão de vídeos via Twitter– TweetDeck
  13. 13. Fernando de Assis Rodrigues - 2013 13Twitter● Openess● Possibilidade de utilizar dados do twitter em outroscontextos– Coletar dados– Perfis Públicos
  14. 14. Fernando de Assis Rodrigues - 2013 14Twitter● Application Programming Interface (API)● Protocolo para interface entre aplicações● Permite o acesso aos dados de uma determinadaaplicação por aplicativos ou algoritmos criados porterceiros– Regras de negócio
  15. 15. Fernando de Assis Rodrigues - 2013 15TwitterDBTwitter.comAPITweetDeckTwitter
  16. 16. Fernando de Assis Rodrigues - 2013 16Twitter● Basicamente● Escrever um algoritmo– Conecte– Execute uma ação– Recupere um dataset– Seguindo as regras da API● Twitter: https://dev.twitter.com/docs
  17. 17. Fernando de Assis Rodrigues - 2013 17Twitter● oAuth● Sistema identificação de aplicações necessáriopara criar aplicações que usam a base de dados doTwitter– https://dev.twitter.com/apps
  18. 18. Fernando de Assis Rodrigues - 2013 18Twitter● Create a new application
  19. 19. Fernando de Assis Rodrigues - 2013 19Twitter
  20. 20. Fernando de Assis Rodrigues - 2013 20Twitter
  21. 21. Fernando de Assis Rodrigues - 2013 21Twitter● Consumer key● Consumer secret
  22. 22. Fernando de Assis Rodrigues - 2013 22Twitter● Criando um token, você autoriza sua novaaplicação tenha acesso a sua conta do Twitter
  23. 23. Fernando de Assis Rodrigues - 2013 23PythonPython is a programming language that lets youwork more quickly and integrate your systemsmore effectively. You can learn to use Python andsee almost immediate gains in productivity andlower maintenance costs.
  24. 24. Fernando de Assis Rodrigues - 2013 24Python● 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. 25. Fernando de Assis Rodrigues - 2013 25Coletando dados do Twitter via publicstreaming
  26. 26. Fernando de Assis Rodrigues - 2013 26Twitter● 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. 27. Fernando de Assis Rodrigues - 2013 27Twitter1. Usando o script de Gustav Arngården2. Adaptando o scripta. Parar e ver apenas um post completo● Visualizando uma resposta em notação JSONb. Parar e ver apenas alguns atributos de um postc. Coletando os posts do streaming para um arquivoCSV
  28. 28. Fernando de Assis Rodrigues - 2013 28Obrigado!fernando@elleth.org@orionx7
  29. 29. Fernando de Assis Rodrigues - 2013 29Hyperlinks● http://www.arngarden.com/2012/11/07/consuming-twitters-streaming-api-using-python-and-curl●https://github.com/simplegeo/python-oauth2●https://dev.twitter.com/docs/auth/tokens-devtwittercom●http://peter-hoffmann.com/2012/simple-twitter-streaming-api-access-with-python-and-oauth.html● https://www.google.com/webhp?sourceid=chrome-instant&client=ubuntu&channel=cs&ion=1&ie=UTF-8#newwindow=1&safe=off&client=ubuntu&hl=en&channel=cs&sclient=psy-ab&q=using%20python-pip%20on%20windows&oq=&gs_l=&pbx=1&fp=de4d6cf3d1c4e680&ion=1&bav=on.2,or.r_cp.r_qf.&bvm=bv.45960087,d.eWU&biw=1366&bih=634
  30. 30. Fernando de Assis Rodrigues - 2013 30Hyperlinks● http://jsonviewer.stack.hu/● http://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files● http://en.wikipedia.org/wiki/Application_programming_interface#Object_API_and_protocols● http://python.org/

×