プログラマ行進曲第二章

主にソフトウェア関連の技術をネタにした記事を執筆するためのブログ

ニコニコ動画の自作ライブラリ(Python製)を使ってsm501からsm600までの動画がどれくらいあるのか調べてみた

以前書いたことがあるんですが、完全な趣味として、細々とニコニコ動画のライブラリ(Python製)を自分用に書いています。

特にどうこう利用しようと思っているわけではないのですが、自分の勉強になるので今も開発を続けています。

で、開発を続けていくうちに、関係ないところからニコニコ動画に「巡礼」というものがあることを知りました。

要はニコニコ動画内にある動画をIDの小さい順にまわっていくことを指すらしいのですが、ニコニコ大百科の記事ではほんの少ししかまとめられていないことに気づきました。

ニコニコ動画内にどれくらいの数の動画がアップされているのか知りませんが、流石にこれは少ないだろうと思える数。

とはいえ、手で編集していくとなるとたかが100でも気の遠くなりそうな作業ですよね。

こういうときこそプログラムが力を発揮するとき!!

というわけで、自作ライブラリを少し活用してみることにしてみました。

コードはこれです。

完全に書き捨てのプログラムなので色々汚いのですが、一応期待するように動作したのでいいことにします。綺麗に書こうとすると時間がかかりそうなので。

以下のように動画の範囲をしてしてやるとtable状に整形したHTMLを吐き出すようにしました。

python nicovideolist.py 501 600

引数で与えている数は始点と終点で、数を変えれば得られる動画情報の範囲も変更できるようにしてみました。が、とりあえず今回は前述の記事に沿ってsm501からsm600までとしました。

コードとしての練度は足下にも及ばないのですが、最近ソースコードを読んでいるSphinxを参考にして、HTMLを出力してみました。

それで肝心の動画の数は以下のような感じです。

動画ID タイトル 投稿日 現在の状態 備考
sm501 削除
sm502 見つからない 動画エラー
sm503 見つからない 動画エラー
sm504 見つからない 動画エラー
sm505 見つからない 動画エラー
sm506 ひぐらしのなく頃に 祭 「嘘だッ!」 2007年03月06日05:54:21
sm507 削除
sm508 見つからない 動画エラー
sm509 見つからない 動画エラー
sm510 見つからない 動画エラー
sm511 魔理沙は大変なものを盗んでいきました 2007年03月06日05:55:37
sm512 見つからない 動画エラー
sm513 削除
sm514 見つからない 動画エラー
sm515 ペルソナ3 フェス 2007年03月06日05:57:14
sm516 削除
sm517 THE IDOLM@STER アイドルマスター My Best Friend カメラ修正版 by 亜美@とかち 2007年03月06日05:55:49
sm518 見つからない 動画エラー
sm519 見つからない 動画エラー
sm520 見つからない 動画エラー
sm521 見つからない 動画エラー
sm522 三沢 2007年03月06日05:56:16
sm523 見つからない 動画エラー
sm524 見つからない 動画エラー
sm525 削除
sm526 見つからない 動画エラー
sm527 見つからない 動画エラー
sm528 見つからない 動画エラー
sm529 見つからない 動画エラー
sm530 見つからない 動画エラー
sm531 マブラヴ Alternative 全年齢版 アバンムービー 2007年03月06日05:58:41
sm532 見つからない 動画エラー
sm533 PAPAPAPAPANTSU!だって陰陽師だもんっ! 2007年03月06日05:58:41
sm534 削除
sm535 PCエンジン版 イースIII オープニング OP 2007年03月06日06:02:48
sm536 ひぐらしのなく頃に 祭 「嘘だッ!あははははは」 2007年03月06日05:59:35
sm537 見つからない 動画エラー
sm538 見つからない 動画エラー
sm539 見つからない 動画エラー
sm540 見つからない 動画エラー
sm541 見つからない 動画エラー
sm542 見つからない 動画エラー
sm543 サクラ大戦3 OP 2007年03月06日06:00:57
sm544 見つからない 動画エラー
sm545 見つからない 動画エラー
sm546 見つからない 動画エラー
sm547 Yuuki VS Ninjin ( VIP ver. ) 2007年03月06日06:02:49
sm548 (MAD) さくらんぼキック 2007年03月06日06:02:54
sm549 削除
sm550 削除
sm551 見つからない 動画エラー
sm552 見つからない 動画エラー
sm553 見つからない 動画エラー
sm554 削除
sm555 JSDF(日本国自衛隊) 非公式PV 『夜明け生まれ来る少女』 2007年03月06日06:04:58
sm556 削除
sm557 ひぐらしのなく頃に 祭 「くけけけけケケケケ」 2007年03月06日06:02:57
sm558 見つからない 動画エラー
sm559 見つからない 動画エラー
sm560 見つからない 動画エラー
sm561 削除
sm562 見つからない 動画エラー
sm563 見つからない 動画エラー
sm564 見つからない 動画エラー
sm565 見つからない 動画エラー
sm566 見つからない 動画エラー
sm567 削除
sm568 スプー VS 長門 2007年03月06日06:04:32
sm569 見つからない 動画エラー
sm570 見つからない 動画エラー
sm571 見つからない 動画エラー
sm572 見つからない 動画エラー
sm573 見つからない 動画エラー
sm574 見つからない 動画エラー
sm575 見つからない 動画エラー
sm576 見つからない 動画エラー
sm577 見つからない 動画エラー
sm578 削除
sm579 [OVA]炎の転校生OP 2007年03月06日06:05:05
sm580 やこーん かちゅらぎさん(魔人探偵脳噛ネウロ) 2007年03月06日06:05:09
sm581 見つからない 動画エラー
sm582 見つからない 動画エラー
sm583 削除
sm584 見つからない 動画エラー
sm585 見つからない 動画エラー
sm586 削除
sm587 見つからない 動画エラー
sm588 削除
sm589 ひぐらしのなく頃に 祭 「誰?」 2007年03月06日06:09:20
sm590 見つからない 動画エラー
sm591 見つからない 動画エラー
sm592 削除
sm593 サクラ大戦3 OP2 2007年03月06日06:07:17
sm594 見つからない 動画エラー
sm595 見つからない 動画エラー
sm596 見つからない 動画エラー
sm597 見つからない 動画エラー
sm598 見つからない 動画エラー
sm599 藤崎瑞希 2007年03月06日06:07:22
sm600 削除

HTMLの形式は最初のほうに引用したニコニコ大百科の「巡礼」の記事で書かれているものに沿った形にしています。だいたい以下のような仕様(のつもり)です。

  • 「現在の状態」が「削除」となっているものは、以下の二通り(のはず)
    • 投稿者削除
    • 管理者削除
  • 「現在の状態」が「見つからない」となっているものは「この動画は存在しないか、削除された可能性があります。」と表示されるやつ(のはず)
  • 動画が存在しているやつはサムネイルを表示

(のはず)とかあやふやな記載がある理由は、ニコニコ動画のAPIで取得できるものの制限や私の理解が足りない影響です。本当はもっと上手くやる方法があるかもしれませんが…

こうして見てみると、スッカスカですねー。何らかの理由で消されたりした動画が結構多いんだな、ということが見てとれますね。

ところでこのコードを書いている最中にdatetimeの取得に苦戦していたところ、ちょうどTwitterで同意せざるを得ないツイートがあったので引用してみます。

実際今回の日時整形で結構手間取りました。%z使えれば(多分)すんなり出来たんですけどね。

あと気になったのは、どれくらいの頻度でアクセスしてもお行儀が悪くないのか分からなかったことが少し怖かったです。岡崎市立中央図書館の事件とかありましたし。

今回は「2回アクセスしたら1秒間待ってからアクセス再開」というふうにして、情報取得の手間とwaitのバランスを取ったつもりなんですが、「もっと頻度を抑えた方が良い」という場合には教えてもらえれば幸いです。