マンガサイト観測 003

マンガ Thank(仮称)のなかにあるテキストデータで、コンテンツの内容を表現したタイトル( title )をいくつか抽出して、その文字列で google 検索してみると、マンガ Thank(仮称)以外のページがヒットする場合があることに気がつくだろう。

kuroca.hatenablog.com

当初考えていたのは、マンガ Thank(仮称)というサイトで、表示されているコンテンツ(つまりマンガのスキャンデータ)は、サイトの運営者がスキャンして、それをアップロードしているものと考えていた。

だが、マンガ Thank (仮称)で使っているタイトルの文字列のまま、他のサイトでも使われているということ、また、そのサイトというのが、オンラインリーディング型ではなくて、ダウンロード型・・・つまり、マンガの画像データを zip, rar など圧縮してまとめてダウンロードさせる配布サイトで、それもどうやらマンガ Thank(仮称)よりも保有コンテンツ数が多いような雰囲気があるので、これはもしかして、ダウンロードサイトからコンテンツをダウンロードし、そのファイルを解凍し、それをマンガ Thank(仮称)のコンテンツとして使用しているのではないか?という予測に至った。

これはコンテンツのアップロードの日時を比較し、ファイルの内容を比較すれば、流れのつじつまはひとつ確認できるのであろうけれども、未確認である。

この仮説が示すのは、「エコサイクル」が形成されているということ。 つまり、マンガ Thank(仮称)の運営者は、マンガをスキャンしてアップロードする作業スタッフを抱えていないのかもしれないということだ。

そのステップは、他にあって、オンラインリーディング型のサイトとダウンロード型サイトは、まったくの無関係でいながら結果的に分業している場合もありうる。それは、わからないことだが。

マンガ Thank(仮称)に限ったことで、問題は、このコンテンツである画像ファイルは cloudflare のドメインにあることだ。

cloudflare のドメインにある画像ファイルを直接読み込むようにしているため、cloudflare にコンテンツ配信のキャッシュファイルを個別に配信停止するように求めなければ、じつはこれは、画像ファイルの URL さえ記述すればどのウェブサイトであろうと、コンテンツを公開できてしまうということに候。

仮にマンガ Thank(仮称)がドメインごと消えた場合でも、新たに同じようにコンテンツが配信される可能性はあるし、全く新たに似たようなサイトが始動することもありえる。

マンガサイト観測 002

マンガサイトにある 51717 タイトルの出版社情報を並べてみる。

imdex

  • マンガサイトにある 51717 タイトルの出版社情報を並べてみる。
    • tbl_ bookdata
    • 出版社データ
    • 著者データ

f:id:kuroca:20210621025637j:plain
51717タイトル

違法と思われるオンラインリーディング型サイトのマンガ Thank(仮称)から現時点で抽出された 51717 のタイトル情報を国会図書館 NDL ( National Diet Library ) サーチに問い合わせて書籍データを得る。

Rf. API仕様の概要 « 国立国会図書館サーチについて https://iss.ndl.go.jp/information/api/riyou/

マンガサイト観測 001 で解説したように ISBN ではなく、サイト内で独自に割り振られたタイトルと著者名らしき文字列の情報から、タイトル名と著者名を抜き出して、NDL ( National Diet Library ) サーチの API を使いデータ照会できるように、仕様に合わせたクエリをつくり HTTPS でリクエストする。

つまり、 ISBN はわからないので、タイトルから ISBN をわりだすということが可能な API を使うということになる。 このような場合、国会図書館サーチか amazonAPI かの選択になるが、今回は制限のほぼなさそうな国会図書館サーチを選ぶ。国立国会図書館サーチの使用法は仕様公開ページをよく読んでもどこか説明が足りないので、実際に使えるサンプルを探して試行錯誤する方がよいと思う。

kuroca.hatenablog.com

マンガ Thank(仮称)のコンテンツのタイトルは独自につけられている為、というより何者かによってコンテンツ(スキャンされたマンガの画像のこと)がアップロードされた時点でメタ情報が入力されているので、そのメタ情報入力の際に明らかにタイトルの英単語のつづりを間違っているなどの場合がある。

これを間違ったそのままでクエリにして、 NDL サーチから正しい情報が引き出せないケースがあるが、現時点では、それは修正せずに間違っていようがタイトルからタイトルらしきものを文字列抽出し、著書名らしきものを文字列抽出してクエリに組み込むプログラムを作った。(つまり照会結果が無い場合、なんらかの特徴が見られることが期待できる。)

この結果を新たにデータベースに書き込んでいくが、データベースのテーブルはこのようになっている。マンガサイト観察 001 で用意した tbl_manga とは別に分けている。これは、 tbl_manga から読みだしたデータを使って、 NDL サーチにクエリをリクエストして得た情報を tbl_bookdata に書き込むということになる。

なぜデータベースを使うのか? コンテンツの数量が多いからである。 50000 を超えて、さらにあとそれの 10% 前後はまだデータ未取得で、さらには日々増えているので、一気に全データを取得...とは考えずに継続的に改良を加えながらデータをとっていく。

続きを読む

マンガサイト観測 001

同じ内容の記事を広告無しでご覧になりたい方はこちらをどうぞ

違法と思われる漫画サイトの中でシンプルな構造のオンラインリーディング型のサイト(マンガ Thank)をターゲットに観測す。

違法と思われるマンガ Thank(仮称)の HTML の構造をよく確認する。

違法と思われるコンテンツである漫画のスキャンデータ、もしくは電子書籍マンガからのコピーである画像ファイルは、概ね cloudflare 社のキャッシュのイメージファイルが <img> で直接指定されている。 また、lazy loading で読み込まれている。仕組みとしてはページに別のサーバーにある WordPress で管理された画像群の画像ファイル(ここが cloudflare のキャッシュになっているということで、それは当該のファイルの URL を逆引きしてドメインからドメイン所有者をわりだすと cloudflare になっているということ。いずれ図説したい。)をページ内に lazy loading で読み込んで表示させていることが確認できる。とてもシンプルなので理解しやすいはずである。

f:id:kuroca:20210618002504j:plain
Cloudflare ドメイン
つまりオンラインリーディング型のサイト、マンガ Thank(仮称)のメインのコンテンツは画像だけなので、その画像がページ内にたとえば100点収まっているだけというシンプルな構造で、付加的にアップデート日時がタグで囲まれて配置されている。これはマンガ Thank(仮称)のシステム管理者用にあるのだと考えられる。 アップデート日時の情報は、マンガ Thank(仮称)のマンガコンテンツを表示するページのソースコード表示で確認できるが、ブラウザでレンダリングされた表示では見えないようにはなっている。

ひとつめのデータベーステーブル tbl_manga

このページの構造から考えて、以下のようなデータベースを作ることにする。

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 を使い、これを実現する。

kuroca.hatenablog.com

マンガサイト

漫画サイト。 それは漫画がブラウザで読める web サイトのことである。

漫画サイトには大きく分けて二種類ある。一方が違法サイトで、もう一方が合法サイトである。 仕組みは表面上はどちらもよく似ている。内部的には違うが、目的が違うので手段が違うと言っていいだろうが、大まかには同じようなものだ。

ここでは、違法サイトについて調べてみたい。

まず、あるひとつの違法サイトでのコンテンツの総数を数えてみたい。 現段階で、数え上げたのは四万四千のタイトル数だった。これは全てがコミックの1巻分ではなくて、第何話や、週刊誌の第何号というものを含めての数で、プラスこの数の20%分くらいがまだ隠れ層になっていて表出していない。

これはどう云うことかというと、いずれ説明するが、今回とった手法が関係しているが、例えば 100 回ランダムに違法サイトのページアドレスを出して、データベースに記録するということを繰り返して、次回はデータベースに記録されているもの以外をデータベースに記録していくようにしたとして、100 回のうち 20 回ほどが、記録されてないアドレスになってきた場合、続けていくと100 回のうち 15 、10 、とだんだんと記録されていないアドレスがランダムでは出にくくなっていくことになる。 このことをここで、隠れ層と云った。 あくまでも、違法サイトのコンテンツページのアドレスを前もって知っているわけではなく、ページにあるマンガ画像が表示されない方法で、ダウンロードせずにコンテンツが埋め込まれている URL を収集して、漫画のタイトルや著者情報を分析していく。