FC2ブログ

音楽とかソフトとか

Sinsyで一曲上げました。よろしければお聴き下さい。


twitterでbot同士が会話するのが面白いなと思って作りました。酒井駒子さんの童話にSFが混じった感じになっていると良いなと思います。

折角なので酒井駒子さんの作品から「ビロードのうさぎ」を。

ビロードのうさぎビロードのうさぎ
(2007/04)
マージェリィ・W. ビアンコ

商品詳細を見る

原作は外国の方で、酒井さんは絵と訳を担当されています。本物のうさぎになりたいと思っているおもちゃのうさぎの話です。

スポンサーサイト



PageTop
(※このページはver.0.18公開時の内容です。より新しい版(ver.0.19)が公開済みです→こちら



遅くなりすみません。nicoStat ver.0.18を公開しました→こちら

今回の変更点はひとまずマイページHTML構成変更に対応したことですが、もっと大きな変更点として、今回のような変更対応作業を各ユーザでも行えるようにしてみました。(予想以上にHTML構成変更回数が多く、今後も同様のことが続くと思われますので)。

nicoStatのプログラムは以下の流れで動いています。
1. マイページHTMLファイルをダウンロード
2. HTMLファイルから再生数などの数値データを抽出
3. csvファイルに記録


2.のデータ抽出ではPerlの正規表現を使っています。これまでのHTML構成変更では、ほとんどの場合、この正規表現の内容を書き換えることで対応してきました。

今回のバージョンでは、この正規表現を設定ファイル.nicorcで書き換えられるようにしました。よって本バージョンの.nicorcには以下のパラメータが追加されています。旧バージョンをお使いの方は必ず本バージョンの.nicorcを使って下さい。

playNum=再生数抽出
commNum=コメント数抽出
mylistNum=マイリスト数抽出
title=タイトル抽出
id=動画ID抽出
next=次ページへのリンク抽出

今後HTML構成が変更された場合は以下の要領で変更作業することができます。

(例:再生数の抽出方法を変更する手順)
1. ブラウザでマイページのHTMLソースを見て再生数の書いてある行を探す。
2. その行にマッチするようなPerl正規表現を.nicorcのplayNumの項目に書く。
3. RULECHECK.BAT または NICOSTAT.BAT で、所望の再生数を取り出せたかチェックする。

RULECHECK.BATを使った場合抽出経過を表示するようになります。
正しく抽出できた場合の出力例は以下のとおりです。
(例:再生数51、コメント数6、マイリスト数10の曲の例)
----
title: <h4><a href="watch/sm12588413">【Sinsy】 ラジオbot 【オリジナル】</a></h4> -> 【Sinsy】 ラジオbot 【オリジナル】
id: <h4><a href="watch/sm12588413">【Sinsy】 ラジオbot 【オリジナル】</a></h4> -> sm12588413
playNum: <dt>再生:</dt><dd>51</dd> -> 51
commNum: <dt>コメ:</dt><dd>6</dd> -> 6
mylistNum: <dt>マイ:</dt><dd><a href="mylistcomment/video/sm12588413">10</a></dd> -> 10

----
以上のように、「抽出したい項目名: 抽出した行 -> 抽出したデータ値」の形式で抽出経過を表示します。


なお、HTML変更の内容次第では nicoStat 本体側の変更が必須になるケースも考えられます。また正規表現をご存知でない方は適切に正規表現を書き換えられないかもしれません。そのような場合にはご連絡いただければ幸いです。

PageTop