API do Twitter para Python
por
em 19-10-2009 às 12:09 (5357 Visualizações)
Hoje vou mostrar como fazer uso da API do Twitter para Python, a Python Twitter API. Sua utilização é bem simples e podemos criar vários aplicativos ou scripts para automatizar algumas tarefas no microblog, como o script que fiz no meu último post.
O post original você encontra no blog da Stiod.
Instalação no Linux
Baixe o código fonte da última versão aqui.
Descompacte com o comando:
Após descompactar entre no diretório criado e execute o seguinte comando como usuário root:Código :$ tar -zxvf python-twitter-XXX.tar.gz
UtilizaçãoCódigo :# python setup.py install
Para utilizar a API importe o módulo twitter:
As principais classes que você deve conhecer são:Código :import twitter ...
twitter.Api
twitter.User
twitter.Status
twitter.DirectMessage
Para iniciar, crie uma instancia da classe twitter.Api:
Com este objeto você pode utilizar os métodos da API que não necessitam de autenticação do usuário. Um Exemplo é o método GetPublicTimeline, que sem parâmetros retorna as últimas 20 mensagens de status dos usuários.Código :import twitter api = twitter.Api()
No exemplo anterior o status é um objeto da classe twitter.Status. A classe twitter.Status possui um atributo user que é um objeto da classe twitter.User.Código :import twitter api = twitter.Api() status_list = api.GetPublicTimeline() for status in status_list: print status.user.name
Para realizar a autenticação de um usuário, instancie a classe twitter.Api, porém passando o usuário e a senha como parâmetros:
Para enviar uma mensagem utilize o método PostUpdate:Código :import twitter api = twitter.Api(username='joao', password='abc123')
Repare que ele retorna o status da mensagem enviada.Código :# -*- encoding: utf-8 -*- import twitter api = twitter.Api(username='joao', password='abc123') status = api.PostUpdate('''Yohohoho! Enviei uma mensagem! Mas cuidado com os limite de 140 caracteres.''')
Várias mensagens contínuas
Um método interessante da API é o PostUpdates, que permite que seja enviada uma mensagem com mais de 140 caracteres. A mensagem na verdade é enviada como se fosse várias mensagens com no máximo 140 caracteres.
Você também pode indicar uma string de continuação no segundo parâmetro, esta string é colocada no final das mensagens para indicar a continuação.
Código :# -*- encoding: utf-8 -*- import twitter api = twitter.Api(username='joao', password='abc123') status = api.PostUpdates('''Yohohoho! Enviei uma mensagem bem grande! Agora você não precisa se preocupar com o tamanho da mensagem pois este método irá dividi-la para você em várias mensagens, você também pode utilizar uma string de continuação ao lado.''', ' ')
Obs: Segundo a documentação da API, o Twitter remove as reticências ("...") das strings das mensagem, por isso utilize o caractere UNICODE \u2026 (" "). Também não ultrapasse o limite dos 150 requests permitidos por hora pelo Twitter.
Comentários
+ Enviar Comentário