API do Twitter para Python

Publicado por Yoshio Iwamoto em 16/10/2009

[ Hits: 11.489 ]

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

Conexão de tabelas temporárias com PHP + MySQL

Usando o cron como despertador

Colocar atalhos na área de trabalho do Ubuntu

Wget - ótimo utilitário de downloads

Agendamento de tarefas

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts