mechanizeではてなダイアリーを更新する
Pythonに手を出してみようと思います。「Hello, World!」と表示するスクリプトを書いても面白くも何ともないので、mechanizeを使ってはてなダイアリーを更新するスクリプト書いてみます。
mechanizeのインストール
mechanizeをインストールるにはeasy_installというRubyでいうところのgemのようなものが必要らしいので、それを先にインストールします。
wget http://peak.telecommunity.com/dist/ez_setup.py python ez_setup.py
続いてmechanizeをインストール
easy_install mechanize
これでLib/site-packages以下にeggファイルが作成されます。これはzip形式の圧縮ファイルで、解凍しなくてもライブラリとして使用できるみたいです。通常ファイルとしてインストールしたい場合は-Zオプションを使います。
はてなダイアリー更新
# -*- coding: euc-jp -*- import mechanize username = '' password = '' # 仮想ブラウザを生成 br = mechanize.Browser() # 日記ページにアクセス br.open('http://d.hatena.ne.jp/' + username) # 「ログイン」リンクをクリック br.follow_link(text_regex='ログイン') # 1番目のフォームを選択 br.select_form(nr=0) # ユーザー名とパスワードを入力 br['name'] = username br['password'] = password # 送信ボタンを押す br.submit() # 「日記を書く」リンクをクリック br.follow_link(text_regex='日記を書く') # name="edit"のフォームを選択 br.select_form(name='edit') # 日記本文を入力 br['body'] = open('diary.txt').read() # 登録ボタンを押す br.submit(name='edit')
かなり楽に書けました。というかほとんどコピペです。ぱっと見Rubyと大差ありませんし。次はもう少しpythonらしいプログラムを書いてみます。