API do Twitter para Python

Publicado por Yoshio Iwamoto em 16/10/2009

[ Hits: 10.656 ]

Blog: http://blog.stiod.com/

 


API do Twitter para Python



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.

Outras dicas deste autor

Dicas para o Hypertext Access (htaccess)

Leitura recomendada

Instalando o Wink no Ubuntu 13.04 ou superior

Acesso a internet via bluetooth com Razr V3 via GPRS usando Fedora Core 6

Instalação do driver Nvidia com o Envy + gerenciador de janelas Beryl

Rsync sem senha: Como fazer rsync sem precisar de chaves RSA

Como fazer download de pacotes de uma distro Linux usando Windows

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário