DLのためのProxomitron(3)
前回でProxomitronの基本的な使い方と動作原理が分かったと思うので、今回から具体的に「ダウンロードのためのフィルタ」を作成していきます。そのための「ターゲット」をどうするか考えたんですが、とりあえず「i-bbs」を狙うことにします。最初のターゲットに関してはじっくり解説をするので「別にそのサイトに用はない」という人も読んでください。同じ考え方は大半の掲示板で利用可能です。
なお、別に僕は「ストーキング」を行うつもりはないので、i-bbsが今後の仕様変更で「このフィルタ」を殺してきても「それに対応する新フィルタ」を公開する気はありません。故に、ここで書くのはあくまで「現在のi-bbsのダウンローダー規制を破る方法」であり、それ以上ではありません。一応そうなった後でも「読んでも意味不明」ということがないようにSSを多めにしますんで、「どのような考え方をして何をするのか」「どのようにフィルタを書くのか」という読み物としてご覧下さい。
で、i-bbsなんですが、いわゆるレンタル掲示板です。こんな感じで利用されてるみたいですね。
サンプルも実際の掲示板もURL構造が変わらないのでサンプルを見てみますが、まず掲示板に表示されているサムネイルにマウスを乗せて気づくことは、ステータスバーのURL(リンク先)が「〜.jsp?〜」であること。

フルサイズ画像に直接リンクが張られていない。「JSP」ってのは、何というか、CGIみたいなもんです(本筋と関係ないので超いい加減説明ですが)。このため、Irvineでサムネイル画像の右クリックメニューからフルサイズ画像を落とそうとしても落とせない。「このページのリンクを抽出」とかで一気に落とそうとしてもフルサイズ画像のURLを抽出できない。

サムネイル画像をクリックすると「画像表示」というページが開かれる。この「画像表示」ページのURLが先ほどの「〜.jsp?〜」。 その「〜.jsp?〜」というページ内に表示されているフルサイズ画像のURLが「〜.jpg」。

ということで、まとめるとi-bbsは下記のような仕組みでダウンローダーを規制しています。

まぁ、ふたばなどでも利用されている典型的なダウンローダー規制(間に中継ページを挟むことで、掲示板本体にフルサイズ画像のURLを記述しなくても良いようにしてダウンローダーを規制する方法)なんですが、こういうモノを見たとき、僕らには二つの選択肢が存在する。

上記の「選択子」は別に「どちらが正しい」という訳ではなくケースバイケースです。ケースバイケースですが、この連載は、つまり「様々なサイトで後者の方針を使いダウンローダー規制突破を行う」というものです。この程度のダウンローダ規制ならば前者の方針で突破することも可能ですし、正直言えば「○○というツールを使えば何も考えなくても前者の方法で突破できます」と書いちゃった方が「手っ取り早い」んですが、「後者の方が圧倒的に楽」というケースも結構あります(&後半で「例」として紹介します)んで、まぁ、「連載の最初のターゲット」ということで。
ということで、i-bbsの掲示板ソースを開いてみてください。サムネイル部分のリンク(中継ページに飛ばすリンク)部分は下記のようになっています。
Proxomitronは「Match」にかかれた文字列を「Replace」に置換しますから
ここで、「フィルタの書き方」という多少面倒な話が始まります。ただ、初心者が特定サイト用のフィルタを書くためなら「フィルタの書き方」ってのは結構簡単に説明できる(Proxomitronを既に使える人はここ見てないと思いますがもしいたら、ということで言い訳しておきますが、そのために「DLのための」なんですよ)ので、次回一回で「初心者向けフィルタの書き方」を解説します。
なお、別に僕は「ストーキング」を行うつもりはないので、i-bbsが今後の仕様変更で「このフィルタ」を殺してきても「それに対応する新フィルタ」を公開する気はありません。故に、ここで書くのはあくまで「現在のi-bbsのダウンローダー規制を破る方法」であり、それ以上ではありません。一応そうなった後でも「読んでも意味不明」ということがないようにSSを多めにしますんで、「どのような考え方をして何をするのか」「どのようにフィルタを書くのか」という読み物としてご覧下さい。
で、i-bbsなんですが、いわゆるレンタル掲示板です。こんな感じで利用されてるみたいですね。
サンプルも実際の掲示板もURL構造が変わらないのでサンプルを見てみますが、まず掲示板に表示されているサムネイルにマウスを乗せて気づくことは、ステータスバーのURL(リンク先)が「〜.jsp?〜」であること。

フルサイズ画像に直接リンクが張られていない。「JSP」ってのは、何というか、CGIみたいなもんです(本筋と関係ないので超いい加減説明ですが)。このため、Irvineでサムネイル画像の右クリックメニューからフルサイズ画像を落とそうとしても落とせない。「このページのリンクを抽出」とかで一気に落とそうとしてもフルサイズ画像のURLを抽出できない。

サムネイル画像をクリックすると「画像表示」というページが開かれる。この「画像表示」ページのURLが先ほどの「〜.jsp?〜」。 その「〜.jsp?〜」というページ内に表示されているフルサイズ画像のURLが「〜.jpg」。

ということで、まとめるとi-bbsは下記のような仕組みでダウンローダーを規制しています。

まぁ、ふたばなどでも利用されている典型的なダウンローダー規制(間に中継ページを挟むことで、掲示板本体にフルサイズ画像のURLを記述しなくても良いようにしてダウンローダーを規制する方法)なんですが、こういうモノを見たとき、僕らには二つの選択肢が存在する。
- ダウンローダーにこのサイトの構造を解析させればいい(例えば「まずJSPページを落とさせ、JSP内にimgタグで記述されているフルサイズ画像URLを取得させ、そのURLを落とさせる」など)
- サイトを、ダウンローダーが解析できる構造に書き換えてしまえばいい

上記の「選択子」は別に「どちらが正しい」という訳ではなくケースバイケースです。ケースバイケースですが、この連載は、つまり「様々なサイトで後者の方針を使いダウンローダー規制突破を行う」というものです。この程度のダウンローダ規制ならば前者の方針で突破することも可能ですし、正直言えば「○○というツールを使えば何も考えなくても前者の方法で突破できます」と書いちゃった方が「手っ取り早い」んですが、「後者の方が圧倒的に楽」というケースも結構あります(&後半で「例」として紹介します)んで、まぁ、「連載の最初のターゲット」ということで。
ということで、i-bbsの掲示板ソースを開いてみてください。サムネイル部分のリンク(中継ページに飛ばすリンク)部分は下記のようになっています。
<a href="/imageDisp.jsp?id=test&file=1112975244921o.jpg" target="_blank">まぁ、癖のないソースですね。Aタグに「中継ページのURL」、IMGタグに「サムネイル画像のURL」が記述されている。フルサイズ画像のURLは
<img src="http://image.i-bbs.sijex.net/bbs/test/1112975244921m.jpg" border="0">
</a>
http://image.i-bbs.sijex.net/bbs/test/1112975244921o.jpgです。では、もしも、このソースが
<a href="http://image.i-bbs.sijex.net/bbs/test/1112975244921o.jpg" target="_blank">であったなら?サムネイル画像をクリックするだけで(中継ページを経由することなく)フルサイズ画像が表示される。従ってサムネイルを右クリックしフルサイズ画像を落とすことが出来るし、ページ内のリンク抽出で落とすことも出来る。Aタグのリンク先さえ書き換えてしまえばi-bbsは「ダウンローダーで落としやすいサイト」に変貌する。
<img src="http://image.i-bbs.sijex.net/bbs/test/1112975244921m.jpg" border="0">
</a>
Proxomitronは「Match」にかかれた文字列を「Replace」に置換しますから
- Match: <a href="/imageDisp.jsp?id=test&file=1112975244921o.jpg" target="_blank">
- Replace: <a href="http://image.i-bbs.sijex.net/bbs/test/1112975244921o.jpg" target="_blank">
ここで、「フィルタの書き方」という多少面倒な話が始まります。ただ、初心者が特定サイト用のフィルタを書くためなら「フィルタの書き方」ってのは結構簡単に説明できる(Proxomitronを既に使える人はここ見てないと思いますがもしいたら、ということで言い訳しておきますが、そのために「DLのための」なんですよ)ので、次回一回で「初心者向けフィルタの書き方」を解説します。

TrackBack
この記事へのトラックバック