マンガサイト観測 001
違法と思われる漫画サイトの中でシンプルな構造のオンラインリーディング型のサイト #マンガThank をターゲットに観測す。 違法と思われるマンガ Thank(仮称)の HTML の構造をよく確認する。
違法と思われるコンテンツである漫画のスキャンデータ、もしくは電子書籍マンガからのコピーである画像ファイルは、概ね cloudflare 社のキャッシュのイメージファイルが <img> で直接指定されている。 また、lazy loading で読み込まれている。仕組みとしてはページに別のサーバーにある WordPress で管理された画像群の画像ファイル(ここが cloudflare のキャッシュになっているということで、それは当該のファイルの URL を逆引きしてドメインからドメイン所有者をわりだすと cloudflare になっているということ。いずれ図説したい。)をページ内に lazy loading で読み込んで表示させていることが確認できる。とてもシンプルなので理解しやすいはずである。
https://cdn-ak.f.st-hatena.com/images/fotolife/k/kuroca/20210618/20210618002504.jpg
Cloudflare ドメイン
つまりオンラインリーディング型のサイト、マンガ Thank(仮称)のメインのコンテンツは画像だけなので、その画像がページ内にたとえば100点収まっているだけというシンプルな構造で、付加的にアップデート日時がタグで囲まれて配置されている。これはマンガ Thank(仮称)のシステム管理者用にあるのだと考えられる。 アップデート日時の情報は、マンガ Thank(仮称)のマンガコンテンツを表示するページのソースコード表示で確認できるが、ブラウザでレンダリングされた表示では見えないようにはなっている。
ひとつめのデータベーステーブル tbl_manga
このマンガ Thank(仮称)ページの構造から考えて、以下のようなデータベースを作ることにする。
tbl_manga
code:tbl_manga
id INTEGER PRIMARY KEY,
title text,
url text,
updated_datetime datetime,
author text,
book_title text
title は、ページにあるタイトルを抽出する。 url は、ページの URL で、ページに埋め込まれた画像ファイルの URL ではない。画像の URL はこのステップでは収集しない。ファイルがすべて cloudflare 管轄のドメインのものを使用されているのか確認したい段階で URL を収集することになるのかもしれないが、それ自体は非常に簡単にできる。ここでは割愛。仕組み上、この url はユニークである。つまり重複はない。title が重複することがあっても url は重複しない。なぜかは考えればすぐにわかるはずだ。 updated_datetime は、ページソースコードにあるアップデートした日時を収める。ただしこれが正確なのかは不明なので、後にプロファイルするための参考にするために抽出する。 その他は、ターゲットのページから抽出するのではなく、抽出されたデータをもとに生成する。
ゴール(目標)
ゴール設定は、オンラインリーディング型のサイトであるマンガ Thank(仮称)にコンテンツとして使用されている漫画について、すべて権利者を割り出して、並べて見ること。 たとえばコミックスであれば、たいていのもは出版社が発行しているので、その出版社名、書籍データを、違法にアップロードされたものからできるだけ正確に逆引きして表示するまでがひとまずの目標とする。 書籍データは ISBN をともなったものが多いが、全てではないのと、電子書籍は書籍という枠には入れられていないために ISBN での管理を外れていても例外とは云えない。おおかたの書籍検索システムは ISBN コードを主軸としているので、ISBN を使って書籍データを問い合わせる仕組みになっているが、これでは要件に適していないので、本のタイトルから書籍データを問い合わせることが可能なシステムの API を使い、これを実現する。