Ver Feed RSS

Yoshio Iwamoto

API do Twitter para Python

Avalie este Post de Blog
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:
Código :
 $ tar -zxvf python-twitter-XXX.tar.gz
Após descompactar entre no diretório criado e execute o seguinte comando como usuário root:
Código :
 # python setup.py install
Utilização
Para utilizar a API importe o módulo twitter:

Código :
import twitter
...
As principais classes que você deve conhecer são:
twitter.Api
twitter.User
twitter.Status
twitter.DirectMessage

Para iniciar, crie uma instancia da classe twitter.Api:

Código :
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.

Código :
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:

Código :
import twitter
api = twitter.Api(username='joao', password='abc123')
Para enviar uma mensagem utilize o método PostUpdate:

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.''')
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.

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.

Atualizado 19-10-2009 em 12:17 por Yoshio (Link original mal formatado)

Categorias
Dicas

Comentários

  1. Avatar de Magnun
    Primeiramente bem vindo ao Under-Linux Blogs, já que esse é o seu primeiro post por aqui.

    Segundo, parabéns pelo post, muito bom!!! É bom ver mais pessoas além de mim postando sobre python por aqui!

+ Enviar Comentário