なんも分からないのでしらべた

なんもわからん!…ので、できる範囲で調べる。

文献調査リストの図書館蔵書状況の一括取得

googleスプレッドシートに記載した調査対象の文献リスト(isbnリスト)を元に、指定した図書館の蔵書状況を取得するスクリプト作った。
OpenBDとカーリルの図書館APIを利用している。提供元に感謝。

本来やりたかった調査自体を停止して、ぐだぐだと丸二日開発。もっとささっと作れたら良いんだが…。


スプレッドシートからカーリルの図書館APIを使い図書館データベースの値を取り出す


スプレッドシートからカーリルの図書館APIを使って蔵書情報を取得する

サンプルソースコードなどは以下。 追記:バグがたくさんあったのでいったん取り下げ。 後ほど版管理したいのでgithubに上げます。

スプレッドシートから図書館情報を取り出すサンプル

やってること

  • シートから県名と市町村名を取り出す
  • カーリル図書館API をたたく
  • 戻ってきたjsonを分解してシートに記載する
  • 図書館へのURLを作成してシートに記載する
    • カーリルAPI利用時の約束

簡単!

ソースコード

(準備中)

スプレッドシートから図書館の蔵書情報を取り出すサンプル

やってること

  • シートからisbnリストを全て読みだす
  • シートから図書館systemId(上記図書館情報で取得できる)と図書館keyを読みだす
    • 図書館key単位で蔵書あり、無しを判断する
    • systemId以下に複数の図書館keyが存在するため、若干混乱する
  • isbnと図書館systemIdを元にカーリルのAPIに問い合わせ
  • 戻ってきたjsonを分解してシートに記載する
    • あらかじめ各isbn毎に図書館キーの位置をオフセットとして覚えておく
    • オフセット位置にjsonに格納されている蔵書情報を書きこむ
  • isbnの本情報のURLを作成
    • カーリルAPI利用時の約束

スプレッドシートへの書き込み処理がぐだぐだコードであんまり良くない!
でもまぁ…別に騒ぐようなことでもないな。

タイムアウト120秒。
全isbn問い合わせ完了まで結構時間がかかるので、終らなかった場合も考えて、レジュームできるようにしてある。
(取得済みのisbn行を再調査しない)

ソースコード

(準備中)

おわり!