syobocalはしょぼいカレンダーからデータを取得するためのRubyスクリプトです。 sch_uploadを除いて仕様が公開されている以下20種類のエンドポイントすべてに対応しています。
- cal_chk.php
- db.php
- TitleLookup
- ProgLookup
- ChLookup
- ChGroupLookup
- TitleViewCount
- TitleRankHistory
- TitlePointHistory
- TitlePointTop
- json.php
- TitleMedium
- TitleLarge
- TitleFull
- ProgramByPID
- ProgramByCount
- ProgramByDate
- SubTitles
- ChFilter
- ChIDFilter
- rss.php
- rss2.php
gem install syobocal
エンドポイントごとにモジュールを切っています。
例えばdb.php
のTitleLookup
に対応したモジュールはSyobocal::DB::TitleLookup
です。
各モジュールには以下のモジュール関数が定義されています。
- get() -- データを取得してパースして返す
- url() -- データを取得するURLを生成して返す
- parse() -- 取得したデータをパースする
このうちurl()
とparse()
はget()
の内部処理のためのモジュール関数です。
基本的にはget()
にパラメータをハッシュで渡してやればデータが取得できます。
XMLやRSSをパースした結果
60DF
は値が適切な型に変換されたハッシュの配列です。
JSONをパースした結果はJSONのデータ構造をそのまま返します。
require 'syobocal'
require 'pp'
params = {"TID" => "1"}
pp Syobocal::DB::TitleLookup.get(params)
テスト用のsyobocal
コマンドと、これから放送される首都圏のアニメを表示するanime
コマンドを同梱しています。
各モジュールの機能をテストできるスクリプトです。 以下のようにして使います。 詳しくはソースを見て下さい。
syobocal DB::TitleLookup "{'TID' => '1'}"
これから放送される首都圏のアニメを表示するサンプルスクリプトです。
anime
This library is distributed under the MIT license.