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.
O artigo original você pode encontrar no
blog da Stiod.
Instalação
Baixe o código fonte da última versão
neste site.
Descompacte com o comando:
tar -zxvf python-twitter-XXX.tar.gz
Após descompactar, entre no diretório criado e execute o seguinte comando como usuário root:
# python setup.py install
Utilização
Para utilizar a API importe o módulo
twitter:
import twitter
...
As principais classes que você deve conhecer são:
Para iniciar, crie uma instância da classe
twitter.Api:
import twitter
api = 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.
import twitter
api = twitter.Api()
status_list = api.GetPublicTimeline()
for status in status_list:
print status.user.name
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.
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:
import twitter
api = twitter.Api(username='joao', password='abc123')
Para enviar uma mensagem utilize o método
PostUpdate:
# -*- 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.''')
Repare que ele retorna o status da mensagem enviada.
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.
# -*- 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.''', '
')
Observações
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.
Nenhum comentário foi encontrado.