White scenery @showyou, hatena

If you have any comments, you may also send twitter @shsub or @showyou.

pythonでtwitterにつぶやいてみよう


こんにちは!twitterでyuka_(http://twitter.com/yuka_)とか作ってるshowyouです。
今日はプログラミング言語pythontwitterの発言を取ってきたり発言をする方法について軽く書きます。


なおここでは以下の環境で動かすことを想定しています。Windowsでも動くと思いますが確認はしてません。Macもほとんど同じやり方で動くと思いますがMacPortsあたりから説明する必要がありそうなのでそれは別の機会に。

OS
Ubuntu Linux (8.04or8.10)
Python
2.5以降

1.pythonを入手する

まずはpythonを入手します。・・が、最近のLinuxだとほとんどで入ってるんじゃないかと。もし入ってないなら(Ubuntuの場合)sudo aptitude install pythonとでもコマンド実行してみてください。

2.python-jsonを入手する

後ほど説明するtwitterライブラリで使うので、入手しておきます。

ターミナルから、

$ sudo aptitude install python-json

と入力してEnterキーを押してください。
(以降$で始まるのはターミナルで入力してEnterキーを押す事を指します)

3.gitを入手する次にtwitterライブラリを入手するのに必要なgitを入手する

$ sudo aptitude install git-core

と実行します。


gitの使い方について軽く書かれたページを貼っておきますがとりあえずは気にしなくていいです。
http://blog.champierre.com/archives/670

4.twitterライブラリを入手する

次に私の作ったtwitter-scrapingというtwitterライブラリを入手します。
*1

$ git clone git://github.com/showyou/twitter-scraping.git

5.実行してみる

入手したtwitterライブラリを使ってみましょう。

$ cd twitter-scraping
$ python

pythonを実行すると、以下のような感じの表示になります。

Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

>>>以下次の通りに入力します。

>>> import twitterscraping

twitterscrapingライブラリを読み込みます。

>>> userdata = {"user":"showyou","pass":"hogehoge"}

ユーザデータを設定します。twitterのユーザ名とパスワード(showyouとhogehogeのところ)を自分のものに変えてください。

>>> tw = twitterscraping.Twitter(userdata)

twitterオブジェクトを作ります。tw.なんちゃらでtwitterの操作をします。

>>> tw.put(u"発言てす")

成功すれば、以下のようなメッセージが出ます。エラーが出た場合は、ユーザ/パスワードが正しく入力されてるか確認するか、少し時間を置いてからつないでみてください。*2

{"truncated":false,"user":{"profile_text_color":"000000","description":"hama,todays,etc. showyou41@gmail.com skype:showyou5","utc_offset":32400,"time_zone":"Tokyo","profile_link_colo(中略)"text":"\u767a\u8a00\u3066\u3059","in_reply_to_user_id":null,"favorited":false,"in_reply_to_screen_name":null,"id":1575043845,"source":"web","created_at":"Tue Apr 21 13:59:04 + 0000 2009"}

"text":"~~~~~~"の部分がTwitterに送った本文です。ここでは数値になっていますが。


次回は取得したり応答する部分を書く予定です(反響次第)

*1:python-twitterでもいいかと思いますが説明読むの面倒なので自分で書いた

*2:本当はこんなデバッグ文まんまの出力はライブラリとしてはよくないんでしょうねぇ