
2026/04/22に国会図書館のデジタルコレクションで個人送信される本が一斉に館内限定に切り替わる自体が発生。具体的に取り上げられた本の一覧をスプシ&tsvで公開。 国会図書館側が公開している 2026年1月の閲覧数でソート。

国会図書館のアナウンスと一致
全部で 7万1662件。国会図書館側のアナウンス「合計約71,600点」とほぼ一致だから間違いないかな。

データ
github gistより。スプシの生データのtsvと、受信したxml全部。
取得方法(閲覧数)
個人向けデジタル化資料送信サービス利用統計 よりEXCEL・tsvがDL可能。3件未満は0カウント

取得方法(本の一覧)
国会図書館が公開しているAPIから取得できた。申請が必要かと思ったけど無くても使えた。
ここに書いてあるハーベスト用APIで、4月の20日~27日に更新があった全部の本のデータを取得した。
https://ndlsearch.ndl.go.jp/api/oaipmh?verb=ListRecords&metadataPrefix=dcndl_v3&set=ndl-dl&from=2026-04-20&until=2026-04-27をGETすれば、1回につき200件のデータが返ってくる。後はページングをするだけ。
プログラムはこんな感じ。node v24で動作確認
import { mkdir, writeFile } from "fs/promises";
const url = new URL(`https://ndlsearch.ndl.go.jp/api/oaipmh?verb=ListRecords&metadataPrefix=dcndl_v3&set=ndl-dl&from=2026-04-20&until=2026-04-27`);
let paginate = "";
let pageCount = 1;
await mkdir(`.xml`, { recursive: true });
while (true) {
if (paginate != "") {
url.searchParams.set("resumptionToken", paginate);
url.searchParams.delete("from");
url.searchParams.delete("until");
url.searchParams.delete("set");
url.searchParams.delete("metadataPrefix");
}
console.log(`fetching page ${url}`);
let xmlText = "";
do {
const res = await fetch(url);
const xmlTextTemp = await res.text();
if (res.ok) {
xmlText = xmlTextTemp;
break;
}
await new Promise(resolve => { setTimeout(() => { resolve(null) }, 10 * 1000) });
} while (true);
await writeFile(`.xml/result-${String(pageCount).padStart(3, "0")}.xml`, xmlText);
pageCount++;
const m = xmlText.match(/<resumptionToken completeListSize="\d+" cursor="\d+">(.+?)<\/resumptionToken>/);
if (!m) {
console.log(`no resumptionToken found, finished.`);
break;
}
paginate = m[1];
console.log(`next paginate: ${paginate}`);
}
console.log(`total pages: ${pageCount - 1}`);
// node index.101.api-get-list.ts
関連情報
【悲報】国会図書館デジタルコレクションで公開されていた資料の多くが、昨日4月22日から「入手可能性調査の結果」、国立国会図書館内限定公開に後退。国会図書館に行かないと閲覧できなくなりました。レイルウエイ・ライター種村直樹さんの著書もすべて館内限定公開に。極めて残念な後退です pic.twitter.com/NRkGRpY6CW
— 栗原景(くりはらかげり) (@kuriharakageri) 2026年4月23日