SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

PerlでデスクトップCGI

デスクトップCGIでWebとデスクトップを融合する 第4回

MySQLでAtomフィードをデータベース化 - 前編


ダウンロード ソースコード (11.0 KB)

実行画面

 実際に「atom2msrdb.cgi」を実行した様子は、以下のようになります。

feeds.cgi改訂版から、atom2msrdb.cgiを実行した画面
feeds.cgi改訂版から、atom2msrdb.cgiを実行した画面

atomfeedsデータベースを、MySQLモニターを使って読む

 「atom2msrdb.cgi」を、CGIやコマンドプロンプトからAtomフィードのURLを与えて実行すると、テーブルに読み出したAtomフィードのデータが入ったはずです。データをMySQLモニターを使って読み出してみましょう。

 まず、PATHに「mysql.exe」のあるディレクトリ、「C:\Program Files\MySQL\MySQL Server 5.0\bin」を追加しておきます(MySQLのインストール設定時にもチェック項目があります)。

 次にコマンドプロンプトを起動します。適当なディレクトリで、コマンドラインに「mysql --user=root --password=password atomfeeds」と入力して改行し、MySQLモニターを起動します。

 最後に「mysql> select uqid, link from entries;」のように入力します。すると、入力されたエントリのuqidlinkカラムの値が、テーブルとして出力されます。テーブルにデータは入力されていたでしょうか。例えば、次のような画面になるはずです。

MySQLモニターでデータベース入力の確認
MySQLモニターでデータベース入力の確認

 titlecontentなどはUTF-8の文字コードの文字列ですから、WindowsのShift_JIS文字コード環境では、コマンドプロンプト上で表示しようとすると文字化けしてしまいます。

第4回(前編)のまとめと今後の展開

 さて、AtomフィードをMySQLのデータベースに取り込みました。そして、取り込まれたことを確認するためにMySQLモニターとSQL言語を使って、簡単な問い合わせをしてみました。後編となる第5回では、「feeds」テーブルと「entries」テーブルにCGIから問い合わせ、出力をHTMLとして取り出し、Webブラウザで表示してみます。

 また、「feeds」テーブルから、Feedsリストを出力するスクリプトを考えます。Feedsリストに表示される各フィードのタイトルには、atomフィードのURLをパラメータとする「atom2msrdb.cgi」へのリンクを生成します。「feeds.cgi」のMySQL版のようなものになります。

 さらに、「feeds.cgi」を大幅に改版して、RSSフィードにも対応できるように改造し、かつ、参照頻度をパラメータにして表示順序を制御できるようにします。

 これらのスクリプトを元にして、連載第6回でさらに発展した形にまとめる予定です。

次の記事

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
PerlでデスクトップCGI連載記事一覧

もっと読む

この記事の著者

jscripter(ジェイスクリプター)

NIFTY SERVEのFGALEL(エントリーラボ)、FGALTS(テキスト&スクリプト)に参画し、FGALTSでシスオペを務める。現在、TSNETメンバー。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/976 2007/03/01 10:29

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー