スポンサーサイト

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

アットマークITリーダー

@ITは定期的に読むようにしている。
以前に比べて読み応えのあるものが減ってはきているが。

基本的に平日の6時以降に興味あるものを順次クリックして帰りの電車の中で読んでいるが、この手間は面倒だ。
何とかして自動化したいのだが、RSSリーダだと各トピックの最初のページしか持ってきてくれない。AutoPilotだと、余計なものも持ってきてしまう。

なのでこの辺はプログラムを組んで必要なものだけ持ってくるようにする。
やはり、プログラムを組めるとこの辺が武器になる。できないと、与えられたソフトの機能の中で使うしかないが、プログラムを組むと柔軟に無駄なく要求を実現することができる。かゆいところに手が届くわけだ。

どうするか考えたが、RSSを取得して、自分の必要なカテゴリの記事だけをダウンロードする。@ITの記事は、複数のページがある場合、終わりが01.html, 02.htmlあるいは_1.html, _2.htmlとなっているので、自動的にインクリメントして、NotFoundが帰ってきた段階で終わりにする。

さて、実装だが、Javaではやったことがあるので、Rubyで組もうと思った。いろいろ探しているとWebUnitが使えそうだとなった。net/httpでもできそうだが、htmlのパースはこれではできない。JavaでやったときはHttpUnitを使った。これはJUnitのWeb版だが、これはWeb巡回アプリの作成にも好都合だった。HTMLのパースができるものを使えば他でもよいのだが、あまりよく知らない。
RubyのWebUnitは、Ruby版のHttpUnitのようで、同様に使えるかと思ったが、ドキュメントもサンプルもきちんとそろっていなかったようなので、とりあえずパス。
結局、慣れているJavaで作ることにした。

とはいえ、前に作ったソースは2年前で、ちょこちょこと作ったのでソースは汚い。どうやって使うのかぐらいは書いておけよ>過去の自分

確か、通常の巡回ソフトでは物足りないから作ったはずだが、何の目的で作ったのかわからない。参照している設定ファイルをようやく見つけた。参照しているURLを見ると、どうやらアダルトコンテンツを効率よく持ってくるために作ったようだ。それだけじゃないと思うが。(^^:

そのリンクをクリックすると、まあ、リンク切れだろうと思ったが、業者サイトにつながった。リダイレクトするかと思ったらURLはそのままだ。どうやっているんだろうと思ったら、単にフレームを使っているだけだった。こうして正規のサイトのように見せかけるわけか。

RSSを読み取るツールぐらいどこかにあるだろうと思ったが、すぐに見つかった奴はVersion 0.91までしか対応していない。0.91だと日付もないし、atmarkitからlastModifiedヘッダもついていない。仕方ないのでrssのサイズを前回と比較して、違っている場合に巡回するようにした。
とりあえず無駄なファイルを極力ダウンロードしないようにして完成。これで平日の6時以降に数回実行するようにスケジューリングしておけば大丈夫だろう。

PS.
あまり綺麗なソースじゃないし、オブジェクト指向的でもないのだが、リクエストがあれば公開します。ま、あまりニーズはないか!? ちょっと必要とするAPIが多いかな。

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

trackback


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

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

<BR> Javaで書いたプログラムをrubyに移植してみた。JavaだとJakarta関連の依存ライブラリが多すぎて、手軽に入れることはできないので何とかしてスクリプト言語で作りたいと思った。(まあ、そこまで熱を入れて読みたい記事はあまりないのだが)HTMLの取得・パースやイメー

コメント

非公開コメント

おもしろそうなので、ぜひ勉強会で見せてください。

もともと作ろうとしたきっかけがいいですね(w

そうですね。

ただちょっとオブジェクト指向的なソースじゃないので、恥かかないようにリファクタリングが必要です(笑)
プロフィール

dayan

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

天気予報

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

この人とブロともになる

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


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