人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Autopagerizeについて教えてください。

url: 'http://diary.jp.aol.com/(?:applet/)?juicyfruits/',
nextLink: '//div[@id="mainbox"]/p[@class="item"]/a[last()]',
pageElement: '//div[@id="mainbox"]/div[@class="section"]',
exampleUrl: 'http://diary.jp.aol.com/juicyfruits/',

このSITEINFOをちゃんと動くようにしたいんですが、どうすれば良いのでしょう。後、「オートスクロールを使わずに少ない動作で全てのページを継ぎ足す方法」や「pageElementで読み込む要素に次に継ぎ足したいページへのリンクがなくても良い理由」なんかも教えていただければ幸いです。


●質問者: rarara6
●カテゴリ:コンピュータ インターネット
✍キーワード:Applet AutoPagerize Class URL クロール
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● sterwars22
●27ポイント

firefoxにそういうプラグインがあります。

greasemonkey用で、pagerizationという名前です。

http://www


2 ● taizooo
●27ポイント

http://diary.jp.aol.com/applet/juicyfruits/archive からなら上のsiteinfoでバリバリにautopagerizeが効いています。これaol diaryの仕様のせいではないでしょうか。1ページ目と2ページ目以降のurlが変わっちゃってるんですもん。

1ページ目

url http://diary.jp.aol.com/juicyfruits/
nextlink <a href="/applet/juicyfruits/archive?b=10">

2ページ目

url http://diary.jp.aol.com/applet/juicyfruits/archive?b=10
nextlink <a href="./archive?b=20">

linkが相対パスだから1ページ目のurlに2ページ目のnextlinkを繋ごうとしてるからエラーになっちゃうんだと思います。siteinfoだけでは解決できないんでわないでしょうか。Autopagerizeに前フィルターとかあってAutopagerizeが効く前に、linkを書き換えるとかできればいいんだけど。

Javascript(グリモン)のグルの意見を求む。

◎質問者からの返答

なるほど相対パスの問題ですか。

その前フィルターは良いですね。wedataへの導入が理想ですかね。


3 ● taizooo
●26ポイント

http://autopagerize.jottit.com/how_to_write_siteinfo_%28ja%29

http://autopagerize.jottit.com/xpath_cookbook

あんま自信ないけどもちょっと簡潔にしてみましたヨ

url: http://diary.jp.aol.com/applet/
nextLink: //a[contains(@href,"/archive?")][last()]
pageElement: id("mainbox")/div[contains(concat(" ",normalize-space(@class)," "), " section ")]
exampleUrl: http://diary.jp.aol.com/applet/juicyfruit/archive

Autopagerize.user.jsに書き込むなら

/*AOL Diary Archive Page*/
{
 url: http://diary.jp.aol.com/applet/
 nextLink: //a[contains(@href,"/archive?")][last()]
 pageElement: id("mainbox")/div[contains(concat(" ",normalize-space(@class)," "), " section ")]
 exampleUrl: http://diary.jp.aol.com/applet/juicyfruits/archive
}

ってかんじでしょーか。pageElementは下のでもイケそうですがコレでいいかどうかよくわかりません。

pageElement: //div[@id="section02"]
◎質問者からの返答

清書どうもです。

余談ですが、「オートスクロールを使わずに少ない動作で全てのページを継ぎ足す方法」はページの継ぎ足しを始める残りピクセル数を現実的ではない巨大数字に架書き替えれば実現できるみたいです。とは言え、user.jsを毎回毎回書き換えなきゃいけないんで実用性が無いですが。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ