スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

アットマークITリーダー for ruby

Javaで書いたプログラムをrubyに移植してみた。

JavaだとJakarta関連の依存ライブラリが多すぎて、手軽に入れることはできないので何とかしてスクリプト言語で作りたいと思った。(まあ、そこまで熱を入れて読みたい記事はあまりないのだが)

HTMLの取得・パースやイメージの取得に、Javaでhttpunitを使ったように、rubyでWebUnitを使ってやりたかったが、どうもうまくいかない。仕方がないので、net/httpを使って、htmlからリンク先の取得については自分で書いた。なので、最初はリンク先が相対パスになっていたりしてエラーを出したりした。自分で組むとそういうケースにも全部対応しないといけない。

Javaで書いたロジックをそのまま移行し、rubyの習得もままならない状態だったので、Javaとの違いで苦戦した。どんな簡単な言語でも、空き時間に適用にやるよりも2,3週間ぶっ続けでやらないと使えるようにはならないと思う。慣れると、Javaよりも短く書けるようになる。ただし、短く書けたからといって、生産性が劇的に高まるとは思わない。

Javaで書いたときよりも機能を追加した。取得するカテゴリを選択できるようにした。というかJavaで使っていたRSS Readerが0.91までの対応で、rss0.91にはカテゴリが入っていなかったからなのだが。

rubyのバージョンは、1.8.4、依存ライブラリはRSS Parserで以下からダウンロードしてインストールする。
http://www.cozmixng.org/~rwiki/?cmd=view;name=RSS+Parser

プログラム本体は、以下からダウンロードする。
atmark.rb

1ファイルだけで、設定等は直接このファイルを書き換える。
BASE_OUTPUT_DIRを指定し、取得カテゴリ(CATEGORY_ACCEPT)、拒否カテゴリ(CATEGORY_REJECT)を指定し、
ruby atmark.rb
を実行する。
ruby c:\hoge\atmark.rb >>c:\trash\at.log 2>&1
こんな感じでバッチを作って、
at 18:15 /every:M,T,W,Th,F c:\hoge\atmark.bat
at 19:15 /every:M,T,W,Th,F c:\hoge\atmark.bat
でスケジューリングする。
Linuxの場合は、cronで。

不具合があったらコメントください。
あまり需要はないか。
rubyのプログラムの参考にどうぞ。手続き的で、オブジェクト指向的じゃないので、今度リファクタリングしようかと思う。ファウラーの教えに従って、temporary変数は極力削除した。次はクラスの抽出かな。これをもう少し他のコンテンツの取得にも使えるように変えるか。

改変は自由です。

関連記事
スポンサーサイト

trackback


この記事にトラックバックする(FC2ブログユーザー)

C言語:ポインタ - Styling GARDEN

<BR> トラックバックさせてもらいました。 ポインタはC言語の難関だと言われています。ですが、順を追って理解していくと難しいものではありません!! 図解入りで解説していますので、ここでポインタを自分のものにしちゃいましょう!!...<A HREF=http://styling-garden.

C言語:配列とアドレス - Styling GARDEN

<BR> トラックバックさせてもらいました。 ポインタはC言語の難関だと言われています。ですが、順を追って理解していくと難しいものではありません!! 今回は配列とアドレスの関係について書きました!! ご一読あれ!!...<A HREF=http://styling-garden.com/content/c/

コメント

非公開コメント

初めまして★

こないだ初めてブログ

を作ったので♪

是非あたしのブログ

にも来て下さいネ●○

ヨロシクです♪

・_・~~~\( \)アアッ…カオガッ!!
プロフィール

dayan

Author:dayan
小職は、SE(システムエンジニア)を専門としておりますが、技術的な情報を中心に、それ以外に経済関連の日記、たわいもない日記も載せていきます。
[公式HPもよろしく!]

天気予報

-天気予報コム- -FC2-
リンク
ブロとも申請フォーム

この人とブロともになる

カテゴリー
最近の記事
ブログ内検索
最近のコメント
最近のトラックバック
RSSフィード
月別アーカイブ


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。