パスワードを忘れた? アカウント作成

fslasht (3370) の日記

2004 年 01 月 25 日
午後 07:27

はてなダイアリー自動転記スクリプト開発(9) nisejournalに転記処理装備

STATUS: 故障中

(最新版ver.1.05はこちらの日記参照)

 「偽/.-J日記」に「はてな」への転記機能をつけました。
 今のところ日記を1件づつ転記操作する必要があります。連続して転記すると処理中にタイムオーバーになりそうなので、これはコマンドライン版でサポートする予定です。
 今回作成するにあたり、日記のテーマについていただいたコメントが大変約に立ちました。はじめはテーマ毎に解析処理を作るつもりでしたが、おかげで1つ作るだけで済みました。

● デモページとソース
 
 ↓このページで動かせます。
 Pseudo Slashdot Journal あるいは 偽/.日記 ver.1.03 (開発版)

 ソースは、こちら(nisejournal103.tar.gz)
 Linux(Linux(kernel 2.4.19) + PHP4.2.3-11 + Apache1.3.27-13で動作を確認しています。
 今回は、register_globals = offで動くようにしました。また、mod_gzipを使用してページ内容を圧縮して送信します。
 PHPが動く環境で、public_html以下の任意のディレクトリに展開して、nisejournal.php ページをブラウザで開いて下さい。

● 履歴

ver.1.00 2001.8.31
ver.1.01 2003.12.16 新しい/.のHTMLに対応。jstr系→mb系に移行。
ver.1.02 2003.12.26 register_globals = offに対応
ver.1.03 2004.01.25 「はてな」への転記機能,参照先アカウント指定機能

● 参照先アカウントの設定

【slashdotのユーザー名】
 従来のバージョンでは、日記を参照できるのは「ユーザー一覧」フレームのリストに載っているユーザーのみでした(その時点のTOP30に載っているユーザー)。
 今バージョンから、「参照先アカウント」に、slashdotのユーザーID(ニックネーム)を入力することで、同フレームの「表示」リンクから表示できます。
 ニックネーム入力時には、Slashdotのユーザー情報ページへアクセスしIDを取得しています。(存在しないニックネームを入力した際はエラーが表示されます)
 ニックネームは、Cookieに保持されます。

【はてなのアカウント】
 「はてな」に転記処理を行う際に必要となります。
 「参照先アカウント」のフレームで、ユーザー名、パスワードを入力してください。
 入力後、はてなのログインページへアクセスし、セッションキーを取得します。
 ユーザー名、セッションキーをCookieに保持します。
 ★注意★ ここで入力したパスワードは、スクリプトを実行しているサーバ(デモページを使用する場合は、私fslasht宅のサーバ)に送られます。特に記録はしていませんが、うかつに入力するのはいかがなものかと思います。自前のサーバにスクリプトをコピーして実行することをお勧めします。

● 転記処理

 日記を表示すると「はてなへ転記」というボタンがあります。
 このボタンを押すと、上記で設定した「はてなのアカウント」の日記に転記されます。
 転記時は引用という形で表現されます。

 転記処理は「はてな」サーバの状態によって変動しますが、2~20秒程度で完了します。

● テンプレートの編集

 テンプレートファイル(hn_tenki_body.tpl) を編集するtことで、転記時の形式を変更できます。

【テンプレートで使用可能な項目】
  %data_title% タイトル
  %data_body% 本文
  %data_topic% トピック名
  %data_topicblanket%" トピック名([~]で囲む)
  %data_commenturl% コメントページのURL
  %data_commentnum% コメント数
  %data_id% 日記のID
  %data_uid% 日記投稿者のユーザーID
  %data_nick% 日記投稿者のニックネーム
  %data_hour% 日記の投稿時刻(時)
  %data_min% 日記の投稿時刻(分)
  %data_timestamp%" 日記の投稿時刻(Unix timestamp)

 現在のテンプレートファイル

● その他

 転記時に日記に選択されているトピック名をカテゴリとしてタイトルにつけるようにしました。(「[~]」で囲んで追加)
 僕の日記では、トピックはイメージ主導で勝手に意味付けして選んでいたので、結構内容と食い違いが…。実際の意味との変換表を登録できるようにしようかな。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by ucha (10757) on 2004年01月29日 15時27分 (#483562) 日記
    土日に試してみようかと思いまつ(^^)
    --
    uchachaの日記 [hatena.ne.jp]
    • よろしくです。おかしなところがあったら教えてください。
      親コメント
      • by ucha (10757) on 2004年01月31日 13時09分 (#485239) 日記
        素晴らしいです!(^^)
        調子にのってかなり転記してしまいました。
        # カスタマイズしないでデフォルトの設定で転記してしまってから、変えられるだと気が付いた(^^;
        fslashtさめのサーバに負荷かけてしまいましたね、申し訳ない。
        とりあえず、そのままスクリプトをシリコンリナックスのサーバのcat-peopleへ
        アップロードして動作することまでは確認しました。
        --
        uchachaの日記 [hatena.ne.jp]
        親コメント
        • もりもり転記してますね。はてなのエントリが一気に増えてる…
          やっぱり一括転送機能要りそうですか?

          # うちのサーバは日ごろ遊んでますので負荷は心配ご無用です。(古いので遅いけど)
          親コメント
          • by ucha (10757) on 2004年02月02日 10時24分 (#486051) 日記
            エントリが鬼のように多い方々には一括転記はあったほうが良いですね(^^)
            いつからいつまでとか日にちで指定する感じでしょうか。
            はてなに転記したものをやり直すために、はてなのほうを一括削除とかできたら
            良いのにとか思います。
            でも、削除は自動でやらすのはちょっと怖いかも(^^;

            さらなる機能拡張に期待しています。
            無理をせず楽しんでやってくださいね。
            --
            uchachaの日記 [hatena.ne.jp]
            親コメント
            •  今のようなブラウザから操作する形態だと、転記中にサーバがタイムアウトしちゃいそうなのが心配です。
               一度に10件くらいだったら大丈夫そうですが。
               前回転記した日記をcookieで覚えて置いて、それ以降を一括転記という形なら出来そうです。
               一度に処理する量が多い時は、CLI(コマンドライン)版にすることになりそうです。
               一括転記は自分も欲しいので、そのうち作ります。気長にお待ち下さい。

               はてな側の削除機能、出来たら作りたいところです。
               テンプレートを変更して転記しなおしたいということもありそうですし。
               でも、たしかに削除処理はなんか恐いですね。
              親コメント

身近な人の偉大さは半減する -- あるアレゲ人

処理中...