$30 off During Our Annual Pro Sale. View Details »

Como construir uma Aplicação que consuma e produza updates no Twitter usando Python.

Como construir uma Aplicação que consuma e produza updates no Twitter usando Python.

Apresentação no PUG-PE

Cirdes

July 03, 2000
Tweet

More Decks by Cirdes

Other Decks in Technology

Transcript

  1. V Encontro do Grupo de Usuários de Python de Pernambuco
    Como construir uma Aplicação que
    consuma e produza updates no Twitter
    usando Python
    3 de Julho de 2010
    Cirdes Henrique
    twitter: cirdeshenrique
    email: [email protected]

    View Slide

  2. O Que é Preciso?
    Beautiful Soup

    View Slide

  3. O Twitter
    • Fornece uma API Rest bem documentada e fácil de usar
    http://apiwiki.twitter.com/Twitter-API-Documentation
    • Exemplo:
    • Statuses Update
    • URL ( http://api.twitter.com/1/statuses/update.format )
    • Formats: (xml, json)
    • Usage examples: (curl -u user:password -d "status=playing with cURL and the
    Twitter API" http://api.twitter.com/1/statuses/update.xml)

    View Slide

  4. O App Engine
    • Infraestrutura da nossa aplicação
    • Vai fazer requisições ao twitter
    • Vai armazenar algumas informações no BD
    • Vai permitir que ações sejam realizadas periodiacamente
    • Links
    •http://code.google.com/appengine/
    •http://www.slideshare.net/amaralrodrigo/introduo-ao-google-app-engine

    View Slide

  5. Mineração de Dados na web
    • Com o Beautiful Soup podemos coletar informações para
    enviar para o twitter
    • Se o XML/HTML estiver corrompido o Beautiful Soup não
    vai quebra
    • O Beautiful Soup tem métodos bem simples de busca de
    informações.
    • http://www.crummy.com/software/BeautifulSoup/

    View Slide

  6. O que falta para enviar um
    update para o Twitter?
    • Temos um Serviço no App Engine que pode enviar solicitações ao Twitter
    • Sabemos o formato da solicitação do Twitter
    • E sabemos como coletar as informações que queremos enviar para o Twitter
    • Ainda é preciso logar no Twitter
    COMO?

    View Slide

  7. An open protocol to allow secure API authorization in a simple
    and standard method from desktop and web applications.
    O Auth começou em Novembro de 2006, quando Blaine Cook estava
    implementando o OpenID do Twitter. Blaine notou que não existia
    Nenhum Padrão aberto para acesso de API.
    • Permite que sejam usados Tokens ao invés de nomes de usuários
    e senhas
    • Cada Token permite o acesso de uma Aplicação específica
    • Abstração dos protocolos e dos padrões de autenticação
    • O privilégio de acesso pode ser removido a qualquer momento
    Oauth

    View Slide

  8. Twitter Api authentication
    • A maioria da chamadas da API do Twitter precisam de autenticação
    •Timelines
    •Mentions
    •Retweets
    •Status Update
    • O Twitter suporta autenticação normal e por Oauth.
     Não é uma boa ideia pedir ao usuário seu login e sua senha
     O uso do Oauth permite usar a API do twitter sem precisar saber a senha
    do usuário
    • Cada aplicação tem uma Consumer Key e uma Consumer Secret
    • Cada usuário que é autenticado pela aplicação tem um Client Token e um
    Client Secret associado.

    View Slide

  9. Processo de Autenticação
    • Para fazer requisições autenticadas é preciso passar pelo processo de
    autenticação
    • Redirecionar o usuário para que ele posso autorizar o uso da sua conta
    pela aplicação
    • O twitter redireciona denovo para a aplicação com todas as chaves
    necessárias para usar a API

    View Slide

  10. Usando Oauth com o App Engine
    • Primeiro precisamos criar um Oauth consumer no twitter
    http://twitter.com/oauth_clients
    Guardar a Consumer Key e a Consumer Secret gerada

    View Slide

  11. Usando Oauth com o App Engine
    • Vamos precisar da biblioteca de autenticação Oauth
    http://github.com/mikeknapp/AppEngine-OAuth-Library

    View Slide

  12. Usando Oauth com o App Engine
    • Como conseguir o user_token e o user_secret ?

    View Slide

  13. Usando Oauth com o App Engine
    • Agora já podemos fazer requisições autenticadas

    View Slide

  14. Usando Oauth com o App Engine
    •Automatizando as requisições com o cron.yaml
    Exemplo:
    Formato do schedule
    Exemplo de schedules

    View Slide

  15. E agora o que podemos fazer?
    @tweetcomendas @carteirabovespa

    View Slide

  16. @tweetcomendas

    View Slide

  17. @carteirabovespa

    View Slide

  18. Dúvidas?

    View Slide