newsingの新着記事とコメントを取得するNEWSING★BOOSTER

NEWSING★BOOSTER

いろいろと不具合がありますが、我慢できないので公開してしまいます。

■機能

30分ごとにnewsingの新着記事200件を取得してコメントを表示するwebサービスです。picker、タグ、コメントした人の3種類で検索できます。

現実的な利用方法は

  • 自分の投稿した記事についたコメントをチェックする
  • 自分のコメントした記事についたコメントをチェックする

といったところ。newsingに記事を多く投稿する人には便利かなぁと思います。

■具体的な使い方

こんな感じで自分のコメントしたエントリーだけ表示して、他人の新規コメントがあるかどうか確認できます。…ぶっちゃけ現時点ではnewsingのTOP記事だけ読んでるような人には支持されないと思いますが、将来的にはいろんな機能を追加したいなぁ…と考えてます。

■既知の不具合

・pickerのコメントが全文取得できない場合がある
pickerがnewsingに投稿するときに、本文に改行を入れていると1行目しか取得できません。

・検索結果の11件以降を表示できない
検索結果の11件以降へのリンクが張られません。手動でURLをいじれば表示できます。pickerやコメントした人検索は大丈夫ですが、タグ検索でitとかビジネスで検索するとモロに影響でます…。

上記不具合は今後解消する予定です。

■今後の予定

・フィルタ機能
条件に引っかかった記事を非表示にする機能。

  • 特定のIDからの投稿を表示しない
  • 特定のIDが投稿した特定のドメインを表示しない
  • 特定のIDが投稿した特定のドメインを表示しない。ただし、200pt以上のものは表示する

こういった条件を逐一入力するのは面倒なので、将来的にはデフォルトフィルタ機能を導入しようと思ってます。フィルタに引っかかる→即非表示は申し訳ないので、デザインを変更してフィルタに引っかかった投稿は右カラムに小さく表示しようかなぁと考えてます。ただし完全なスパムは非表示。つまり記事を・普通に表示、小さく表示、表示しないの3段階に分けようかなぁと。

・独自pt機能
newsing側のデータを元にBOOSTER独自のptを算出する機能。

  • 最初のコメントがpickerの場合、-50pt
  • なんか結託してptを挙げている場合、非表示とする。
  • 盛り上がってる記事を上位に上げるため、コメント1件に付き+20ptとする。

・RSS配信
フィルタ結果のRSS配信をする。

・アドレス変わるかも
公開したてですが、サーバへの負荷が大きくなればサイト移転します。

・デザイン
今のデザインはマイナー感漂いすぎなので改善。

■連絡先

newsingのトピ、はてブのコメントあるいは下記のメールアドレスまで。


以下、NEWSING★BOOSTERの技術情報です。


■使用言語

rubyです。人狼スクリプトカスタマイズの時の経験が生かせました。

■機能大別

N★Bは以下の3つの機能から成り立っています。

記事取得
open-uriでnewsingにアクセスし、ソースを取得。1行づつ読み込んで必要な行を正規表現でマッチさせてログファイルに書き込みます。昨年11月に作ったnewsing記事集計スクリプトを流用できたので、比較的頭を使わずに作れました。

フィルタリング

ログファイルを読み出し、条件にマッチ(orアンマッチ)した記事をHTML出力を行います。今は投稿者・タグ・コメントした人の3種類でしか検索できませんが、やろうと思えばpt、○/×の数、ドメイン、投稿時間などでもフィルタリングできますし、除外設定や正規表現検索も可能です。…が、むやみやたらと機能を多くしても使う人が迷うと思ったので、取りあえずでリリースしました。いい案があれば意見を下さい。

HTML表示

ここはフィルタリングした結果を表示するだけ。問題はデザインをどうするかなのですが、ここも試行錯誤が必要な箇所なので取りあえずしょぼしょぼでリリースしました。ちなみにナビゲーションを作るのが一番頭使いましたw あーあと今はせこせこprint文してるので、とっととerbに切り替えたいです。