python-twitterを使ってメッセージを投稿してみた

更新:2009.6.14

目次

最近は、あまりコーディングをしていないし、twitterはそれほど使っていないのですが、何となくやってみようと思った次第。

botを作って、bot同士でやりとりをすれば、傍聴気分が味わえて最高かも!

環境

今回、僕が試した環境は以下のような感じです。

インストール

インストールと言うほどのものでもないのですが、pythonからメッセージを投稿するのに便利なライブラリがありますので、そいつをインストールしました。

色々サイトを見ていると、サイトからダウンロードしてsetup.pyを使ってインストールしているケースが多かったのですが、ubuntu9.04ではうれしいことにaptを使ってインストールできました。

必要なパッケージは、python-twitter,ptyhon-simplejsonの二つ。

% sudo apt-get install python-twitter

この様にすると、python-simplejsonも一緒に入ったので、ラッキーです。

リファレンスも用意されてるようで、以下のようにするとOKです。

% pydoc twitter

コーディング

エラー処理とか、ログとか色々ツッコミどころはあるけど、これでひとまず投稿することが出きるようになりました。

#!/usr/bin/python
# -*- coding: utf-8 -*-
import twitter
import sys
USER='user_name'
PASS='pass_word'
message=unicode(sys.argv[1],'utf-8')
api = twitter.Api(username=USER,password=PASS)
statuses = api.PostUpdate(message)

超簡単です。

スペースのことを考慮していません。

投稿してみる

使い方は以下のような感じで。

% python post.py pythonで投稿してみたー。

これで、ひとまず投稿できるようになりましたが、警告が出ますので、やっつけてきに修正しておきます。

警告を消す

どうやら、Pythonのバージョンによって、md5の使い方が変わっているで、以下のような警告が出てしまいます。

これは、無視してもメッセージを投稿できるのですが、非常に気持ちわるい。

/var/lib/python-support/python2.6/twitter.py:10: DeprecationWarning: the md5 module is deprecated; use hashlib instead
import md5

/var/lib/python-support/python2.6/twitter.pyをエディターで開いて以下のように直しましょう。

#add
import hashlib  
#change
import md5
↓
#import md5  

#change
hashed_key = md5.new(key).hexdigest()
↓
hashed_key = hashlib.md5(key).hexdigest()

これで、ひとまず警告は出なくなりましたが、この修正がベストであるかどうかは分かりません。

何かしら問題が出たら、調べて書こうと思います。

後、python-twitterを使うと、他にも色々なことが出きるので、時間があれば試してみたい。

数ステップのプログラムだけど、コーティングはやっぱり面白いな。

Python関連記事






TurboGears Install
2008/04/09





これからブログなどのサイトを作りたいと思っている人は、お名前.comでのドメイン取得がオススメです。

■□━━ 急げ、ドメインは早い者勝ち! ━━□■
     ■お名前.com

アマゾンの2019年本屋大賞一覧

そして、バトンは渡された
ひと
ベルリンは晴れているか
熱帯
ある男

楽天市場のおすすめ商品一覧

お金2.0 新しい経済のルールと生き方 [ 佐藤航陽 ]
全部レンチン!やせるおかず 作りおき 時短、手間なし、失敗なし
「読む力」と「地頭力」がいっきに身につく 東大読書 [ 西岡 壱誠 ]