« AutoPagerlike: 『次へ』リンクが"javascript:~"の場合の対処方法を考える | トップページ | 【JScript】ActiveXObject('htmlfile')で発生する不具合 »

2008/04/03

AutoPagerize/AutoPagerlike:Google イメージ検索への対応を試みる

【2009/04/18追記】
Greasemonkey版のAutoPagerizeを使っている方は、
【AutoPagerize】Google 画像検索対応スクリプト(AutoPagerize本体をいじらない版)
へどうぞ。

AutoPagerizeAutoPagerlikeのGoogle イメージ検索に対応させる方法を模索してみました。
■SeaHorseスクリプト(Sleipnir専用) ■Greasemonkeyスクリプト(Firefox専用)
Google イメージ検索対応のおまじない
AutoPagerize ver 0.0.26+パッチ版
AutoPagerize本体ソースのSITEINFOに以下のような設定を追加します。
var SITEINFO = [
    {
        name       : 'Googleイメージ検索',
        url        : 'http://images\\.google\\..+/images\\?.+',
        nextLink   : 'id("nn")/parent::a',
        pageElement: '//table[tbody/tr/td/a[starts-with(@href,"/imgres")]]',
        exampleUrl : 'http://images.google.com/images?gbv=2&hl=ja&safe=off&q=%E3%83%9A%E3%83%BC%E3%82%B8'
    },
おまじないのほうは、Greasemonkeyの並び替えを使って、AutoPagerize本体よりも前に持ってくる必要が有ります。
なお、パッチ版は一切の保証はありません。

【2008/12/23】AutoPagerize本体のバージョンアップに追従するのは大変なので、書換部分のみ記述しました。
■参考
AutoPagerizeをGoogleイメージ検索(画像検索)で動作させる - 午前0時の憂鬱
上記をインストール後、ページに行って試してみてください。
■サンプル

Autopagesample2

■メモ書き Google イメージ検索の検索結果はJavaScriptで出力されるようになっているため、AutoPagerize (swdyh)の方でも、
  • http://images.google.co.jp/ ←JavaScriptで生成しているから難しいらしい
と、『対応希望リストのうち、現状は対応が難しいリスト』に上がっています。
ところが、じゃあJavaScriptをオフにした状態だと見られないのかというとそんなことはなく、ちゃんとサムネイルが表示されます。要は、JavaScriptオフの場合は、それ用のページにリダイレクトされているようです。
【例】
  • JavaScriptオン:http://images.google.com/images?gbv=2&hl=ja&safe=off&q=%E3%83%9A%E3%83%BC%E3%82%B8
  • JavaScriptオフ:http://images.google.com/images?hl=ja&safe=off&q=%E3%83%9A%E3%83%BC%E3%82%B8&gbv=1&ei=0N30R5ieEYOs6gOqkvTICQ
そんなわけで、最初のページの『次へ』のリンクに設定されているURLのうち、"gbv=2"を"gbv=1"に変えてやってから、SITEINFOを適用してやると、無事ページの継ぎ足しが出来るようになりました。
あ、ただし、オリジナルのAutoPagerize(ver 0.0.26)の場合には、最初のページにpageElementにマッチする要素がないと適用されないようになっているため、パッチ(launchAutoPager()内の該当箇所をコメントアウト)が必要でした。また、Google イメージ検索の設定はソース内SITEINFOに直書きです。

【2008/04/05追記】
oAutoPagerizeのGoogleイメージ検索対応 oAutoPagerize ver 0.4.1 - 0x集積蔵
SITEINFOを工夫して、本体にはほとんど手を入れずに動くようにしてみました。
を参考にして、オリジナルのAutoPagerizeでもパッチ無しで動作するようになりました(SITEINFO直書きなのは変わりませんが)。
あと、URLがhttp://images.google.co.jp/images?~の場合があったり、『次へ』リンクに"gbv=2"というパラメータが入っていない場合があったりすることに気付いたので、修正しています。
0x集積蔵さんの方にその旨コメントしようかと思って、念のためソースを見てみたら、既に対応済のようでした。さすが。
あと、AutoPagelikeの方のpageElementは、
,pageElement: '//table[tbody/tr/td/a[starts-with(@href,"/imgres")]]'
だとうまく動かないので、仕方なく
,pageElement: '//table[tbody/tr/td/a[contains(@href,"/imgres")]]'
にしています。
動かないのは、ActiveXObject('htmlfile')でHTMLドキュメント作ると、リンクの相対パスが勝手に(現在のページのドメインをベースとした)絶対パスに書換えられてしまうからです……これ、相対パスのままにする方法はないのかなぁ?

« AutoPagerlike: 『次へ』リンクが"javascript:~"の場合の対処方法を考える | トップページ | 【JScript】ActiveXObject('htmlfile')で発生する不具合 »

パソコン・インターネット」カテゴリの記事

おもいつき」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: AutoPagerize/AutoPagerlike:Google イメージ検索への対応を試みる:

« AutoPagerlike: 『次へ』リンクが"javascript:~"の場合の対処方法を考える | トップページ | 【JScript】ActiveXObject('htmlfile')で発生する不具合 »

戻るリンク追加

カレンダー

2019年9月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

ココログカレンダーPlus

検索


    • Web全体 サイト内
    • 蔵書のISBNを入力して下さい
    • はじめる前
      初級者向け
      上級者向け
      ブログ紹介
      結果を表示

最近のトラックバック

コメントリストツリー化

無料ブログはココログ