Coletando dados do Twitter via Application Programming Interface (API)

  • 880 views
Uploaded 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.

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

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
880
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
15
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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. Fernando de Assis Rodrigues - 2013 2Este Slide está disponível emhttp://www.slideshare.net/orionx7
  • 3. Fernando de Assis Rodrigues - 2013 3Objetivos● Twitter● API● Python● oAuth● Exemplos
  • 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. 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. 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. Fernando de Assis Rodrigues - 2013 7Twitter● Microblogging● Tweets– Limitados a 140 caracteres– Geolocalização*– Fotografia*– Hyperlinks*– Hashtags** itens opcionais
  • 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. 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. Fernando de Assis Rodrigues - 2013 10TwitterFonte: https://blog.twitter.com/2012/twitter-turns-six
  • 11. Fernando de Assis Rodrigues - 2013 11Twitter NotíciasSpamAuto Promoção“chitchat”RetweetsConversasFonte: Pear Analytics
  • 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. Fernando de Assis Rodrigues - 2013 13Twitter● Openess● Possibilidade de utilizar dados do twitter em outroscontextos– Coletar dados– Perfis Públicos
  • 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. Fernando de Assis Rodrigues - 2013 15TwitterDBTwitter.comAPITweetDeckTwitter
  • 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. 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. Fernando de Assis Rodrigues - 2013 18Twitter● Create a new application
  • 19. Fernando de Assis Rodrigues - 2013 19Twitter
  • 20. Fernando de Assis Rodrigues - 2013 20Twitter
  • 21. Fernando de Assis Rodrigues - 2013 21Twitter● Consumer key● Consumer secret
  • 22. Fernando de Assis Rodrigues - 2013 22Twitter● Criando um token, você autoriza sua novaaplicação tenha acesso a sua conta do Twitter
  • 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. 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. Fernando de Assis Rodrigues - 2013 25Coletando dados do Twitter via publicstreaming
  • 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. 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. Fernando de Assis Rodrigues - 2013 28Obrigado!fernando@elleth.org@orionx7
  • 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. 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/