未踏作業日誌――余計なもの作るよ!

未踏の作業日誌的なものを書きましょうということで書くことにしました.余計なことばっかりしています.

DanbooruのAPIを叩いて180万件のタグ情報を収集なう

DanbooruAPI公開されてます.

Wiki - help:api - Danbooru

一応,DanbooruOSSの画像掲示板システムになっているので,派生システムであればだいたいAPIが公開されてます.(使用不可になっているシステムもあったりしますががが)

匿名だと500req/h,ベーシックユーザだと3000req/hのAPIを発行できます.2000円ぐらい払うとさらにリクエストの数とか増えるので,ご迷惑をお掛けしそうならゴールドかプラチナに昇格するといいかもしれません.

APIのリファレンスを見る限り,クッキーにloginとapi_keyを持たせて,それぞれユーザ名とbcryptで暗号化したAPIキーを入れてあげればいいそうです.どういうわけか,そこまでうまく行ってる気はしませんが…….

APIキーはGETパラメータに,login=ユーザ名&api_key=生のAPIキーを持たせてあげればいいそうです.意図的に421発生させて組み合わせテストするのすごく疲れました……)

 

今のところ,タイトル通りAPI叩いて,180万件のタグ情報を収集してます.APIJSONで返ってくるので,いくつか欲しい情報のみピックアップして,MongoDBに入れてる感じです.

最初はSQLiteで構築しようかとも思ったのですが,テーブル設計面倒くさいし,180万件の単純なデータだったらMongoDBのほうが速いような気がしました.

実際の所,1件の画像に付加されたタグ情報を表すのに,RDBMSだと無駄な部分がやっぱり多かったりするので,MongoDBのほうがすっきり書けますし速度も出ます.ただ,MongoDBサーバ立てておかないと使えないのは少しばかりネックかもしれません…….

 

とりあえず,先にタグや画像のURLを取得して,後から画像本体のクロールに入ろうかなと思ってます.ダウンロードした画像にガンガンタグ付けを行って,Picasaで閲覧するの凄く楽しみです.

ただ,180万件のデータにもなるので,サムネイルだけで死にそうになる気が…….万が一のことも考えて,Picasaのデータベースを作る位置変えとかないとやばいかもです.

 

どうでもいいのですが,本日NTTの集金が来ました.まあ,新居に引っ越したら当たり前ですよねって感じなんですが,どうやって新居に越してきたことわかるんでしょ? 貸主もしくは仲介業者はNTTに個人情報を渡す義務があるんでしょうか?

最近,個人情報が大切だとは言いますが,規約をよく読むと,親会社から関連会社まで個人情報を行き渡らせてもいいと書いてあったりします.これに同意しないと家も借りられないので,名簿業者なんか使わなくとも,関連会社の一文でガンガン名簿が流通するんだろうかなぁって思いました.

何はともあれ,契約する必要があればするスタンスなので契約しました.受信機持ってないかと思ったら,携帯電話が受信機になってるみたいです.6年前のガラケーなんですが,これでテレビ見れるのかとびっくりしました.学割効いて月々600円なので払いましたが,平等に徴収すると言う割には平等になってない()

別にそこまで大きな額ではないですし,公共放送の重要性は理解していますが,携帯電話を持っていれば衛星放送を受信できるので,ワンセグ機能のある携帯であれば地上放送での契約を勧めるスタイルはなかなかロックだなと思いました.衛星放送を受信できない端末なんて家庭にないような気がする(受信するだけなら可能,見れるかどうかは知らない)ので,こういうことやってるから,嫌われるんじゃないかなぁってふと思いました.

でも,放送法第64条見る限りは,僕の携帯電話は放送の受信を目的としない受信設備になるはずなんですがどうなんでしょ? 一応,ワンセグ携帯ですが,僕個人として放送の受信を目的として使っていないので.まあ,インターネットに繋がってる端末がある時点で64条3項に引っかかると思うので,言い逃れすればより苦しくなるかなと.この辺りになると水の掛け合いみたいになって時間が無駄なのでさっさと契約しちゃった方が何度も訪問されて裁判起こされるよりマシかなと思います.お金あるなら時間がもったいないのでさっさと契約しちゃいましょう.