DLのためのProxomitron(5)
前回でi-bbsをターゲットとした最初の解説が終わったんですが、無事手順通りに「動く」フィルタを書けましたかね?
何か最初の例題が模範解答無しってのも酷い気がしたので、僕がDLのためのProxomitron(4)で紹介した「手順」通りに書いたフィルタを公開しておきます。もし「手順通りに書いたのに動かなかった」という人がいたら何処がおかしいのか確認しておいて下さい。DLのためのProxomitron(3)で書いたような仕様のサイト(これを読む頃既にi-bbsの仕様が変わってるかもなのでこういう表現です)向けのフィルタを、DLのためのProxomitron(4)の通りに書けばこうなります。
i-bbs.sijex.net DirectDL [05/04/13]
・・・あと、すみませんが「CFGファイルって何?」的な疑問がある人はProxomitron-J内の「Proxomitron のメインスクリーン」と「フィルタマージの手順」で自力でどうにかして下さい。
ということで今回からターゲットを変えます。今度のターゲットはAvi-Ban。こういうのとかこういうのとかが充実してますね。
何故このサイトをターゲットにしたかというと、ダウンローダー規制が非常に厳しいから。つまり、
で、例によってサンプル掲示板もURL構造が変わらないのでスクリーンショット付きで紹介します。

サムネイル画像にマウスを乗せたとき、ステータスバーに一切URLが表示されません。ここで勘の良い人は「JavaScriptでステータスバーを殺してるのか」と思いJSを無効にしてリロードするんですが、それでも何も表示されない。
にも関わらず、サムネイル画像をクリックすると「〜.php?〜」という画像表示ページ(i-bbsの場合と同じく「中継ページ」)が開く。

そのPHP(画像表示ページ)の中に表示されているフルサイズ画像のURLは下。

そして、掲示板本体のサムネイル画像表示部分のソースを見るとこんな感じ。

何が起きているのか分かりましたかね?実は、サムネイル画像はIMGタグで表示される画像ではなく、画像型のボタンだった。formのボタンって通常はですが、ここに画像を使うことって可能じゃないですか。

Yahoo!のトップページの検索formもボタンは画像です。マウスを乗せるとマウスカーソルは変化しますがステータスバーには何も表示されない。
Avi-Banのサムネイルも、これと同じ「画像ボタン」だったのです。そしてformのsend先(Yahoo!の場合は「検索結果表示ページ」)が、先ほどのPHPファイル(画像表示ページ)。
これをダウンローダーに解釈させるのは難しい。よくある「サイト全体の構造を自動解析しサイト内ファイルを全てダウンロード」というタイプのツールを使えばi-bbsのようなサイトならフルサイズ画像まで落とせますが、ああいうツールでもformは無視されることが多い(分かりやすく言うと、formに対するsend結果のページまで落とすということは、例えばうちのサイトの「サイト内検索結果」や、場合によっては「掲示板投稿結果」まで落とすということです。そんなダウンローダーは見たことないはず)。
そして、にも関わらず、HTMLを書き換えてしまえば簡単にこの規制を突破することができる。
Avi-Ban掲示板ソースのサムネイル画像表示部分を抜き出します。
具体的な書き方は次回。
何か最初の例題が模範解答無しってのも酷い気がしたので、僕がDLのためのProxomitron(4)で紹介した「手順」通りに書いたフィルタを公開しておきます。もし「手順通りに書いたのに動かなかった」という人がいたら何処がおかしいのか確認しておいて下さい。DLのためのProxomitron(3)で書いたような仕様のサイト(これを読む頃既にi-bbsの仕様が変わってるかもなのでこういう表現です)向けのフィルタを、DLのためのProxomitron(4)の通りに書けばこうなります。
i-bbs.sijex.net DirectDL [05/04/13]
・・・あと、すみませんが「CFGファイルって何?」的な疑問がある人はProxomitron-J内の「Proxomitron のメインスクリーン」と「フィルタマージの手順」で自力でどうにかして下さい。
ということで今回からターゲットを変えます。今度のターゲットはAvi-Ban。こういうのとかこういうのとかが充実してますね。
何故このサイトをターゲットにしたかというと、ダウンローダー規制が非常に厳しいから。つまり、
ダウンローダーにこのサイトの構造を解析させればいい(例えば「まずJSPページを落とさせ、JSP内にimgタグで記述されているフルサイズ画像URLを取得させ、そのURLを落とさせる」など)この方針でフルサイズ画像を落とすのが非常に難しい構造になっているから。そして、それにも関わらず、
サイトを、ダウンローダーが解析できる構造に書き換えてしまえばいいこちらの方針でフルサイズ画像を落とそうと思うと、i-bbsとほぼ同じ難易度に過ぎないから。
上記の「選択子」は別に「どちらが正しい」という訳ではなくケースバイケースという時の、Proxomitronを使った方が明らかに易しいケースとして紹介します。
で、例によってサンプル掲示板もURL構造が変わらないのでスクリーンショット付きで紹介します。

サムネイル画像にマウスを乗せたとき、ステータスバーに一切URLが表示されません。ここで勘の良い人は「JavaScriptでステータスバーを殺してるのか」と思いJSを無効にしてリロードするんですが、それでも何も表示されない。
にも関わらず、サムネイル画像をクリックすると「〜.php?〜」という画像表示ページ(i-bbsの場合と同じく「中継ページ」)が開く。

そのPHP(画像表示ページ)の中に表示されているフルサイズ画像のURLは下。

そして、掲示板本体のサムネイル画像表示部分のソースを見るとこんな感じ。

何が起きているのか分かりましたかね?実は、サムネイル画像はIMGタグで表示される画像ではなく、画像型のボタンだった。formのボタンって通常はですが、ここに画像を使うことって可能じゃないですか。

Yahoo!のトップページの検索formもボタンは画像です。マウスを乗せるとマウスカーソルは変化しますがステータスバーには何も表示されない。
Avi-Banのサムネイルも、これと同じ「画像ボタン」だったのです。そしてformのsend先(Yahoo!の場合は「検索結果表示ページ」)が、先ほどのPHPファイル(画像表示ページ)。
これをダウンローダーに解釈させるのは難しい。よくある「サイト全体の構造を自動解析しサイト内ファイルを全てダウンロード」というタイプのツールを使えばi-bbsのようなサイトならフルサイズ画像まで落とせますが、ああいうツールでもformは無視されることが多い(分かりやすく言うと、formに対するsend結果のページまで落とすということは、例えばうちのサイトの「サイト内検索結果」や、場合によっては「掲示板投稿結果」まで落とすということです。そんなダウンローダーは見たことないはず)。
そして、にも関わらず、HTMLを書き換えてしまえば簡単にこの規制を突破することができる。
Avi-Ban掲示板ソースのサムネイル画像表示部分を抜き出します。
<input type="image" src="http://photo1.avi.jp/photo/1/1/1-5677638-0-18252981.jpg" alt="無料レンタル掲示板 Avi-Ban" name="submit">この前後にformがあるんですが、そんなことはどうでもいい。何故なら、上のソースを
<a href="http://photo1.avi.jp/photo/1/1/1-5677638-0-18252981-pc.jpg"><img src="http://photo1.avi.jp/photo/1/1/1-5677638-0-18252981.jpg"></a>に書き換えてしまえば、サムネイル画像は「画像ボタン」ではなく「(フルサイズ画像へのリンクを行う)Aタグに囲まれたIMG画像」になるから。それがformに囲まれていようが何の関係もない(formを使った「手の込んだ」ダウンローダー規制でも、Proxomitronによるウェブページ書き換えの前では全くといって良いほど意味がない)。
具体的な書き方は次回。

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