XPath応用編 - 1.次へボタンを指定する
フォローするページ送りボタンの種類がいくつかありますが、今回はよく見かける3種類のページ送りボタンを指定する方法を紹介します。
1.「次へ」で表示するボタン
例:https://loco.yahoo.co.jp/search/?genrecd=0413001&sort=hybrid&paypay=1&b=1
上記はよく見かける「次へ」ボタンで表示するサイトです。
このようなサイトから「次へ」ボタンを指定するXPathはより簡単に書けます。
a) 「次へ」ボタンを右クリックしてから、「検証」を選ぶと、ボタンのHTMLが下記のようです。
b) Ctrl+Fを押すと、検索バーが現れます。
XPathの書き方で紹介した「contains(text(),"XXX")」を使って指定すると、下記のように書くことができます。
//a[contains(text(),"次へ")]
※<a>タグは「リンクを設定する」を意味します。
「次へ」や「次のページ」など名称をボタン上に表示する場合は一般的に「contains(text(),"XXX")」で対応します。とても便利ですので、ぜひお使いください。
c) 上記のXPathをOctoparseのページネーションのXPath入力ボックスに入れ替えます。
2.「>」で表示するボタン
例:https://www.ekiten.jp/gen_relax/tokyo/index_p2.html
こちらのサイトは「>」で表示するボタンを設定しています。
a) 「>」ボタンを右クリックしてから、「検証」を選ぶと、ボタンのHTMLが下記のようです。
例えば、
//a[@class="button"]
と書きますと、下記の画像のように、2つの「>」ボタンを指定してしまいます。
そのため、XPathの書き方で紹介した『軸』の関係でaタグの一つ上の階層つまり親となるdivから指定します。そうすれば、正しいXPathを下記のように書くことができます。
//div[@class="p-pagination_next"]/a
d) 上記のXPathをOctoparseのページネーションのXPath入力ボックスに入れ替えます。
3.ページ番号で表示するボタン
例:https://www.hotpepper.jp/yoyaku/SA11/Y055/G001/
一部のWebページでは下記の画像のように、次のページに遷移する数字で表示しています。
このようなサイトにはXPathの書き方で紹介したfollowing-sibling::で次のページ番号を指定します。
a)ボタンを右クリックしてから、「検証」を選ぶと、ボタンのHTMLが下記のようです。
b) 該当ページ番号を指定します。
//ul[@class="pageLinkLinear cFix"]/li[@class="crt"]
c) それから、following-sibling::を使って次のページ番号を指定します。
//ul[@class="pageLinkLinear cFix"]/li[@class="crt"]/following-sibling::li[1]/a
このXPathはまずul要素の下にclass="crt"を含むli要素を指定します。つまり、該当ページボタンを指定します。
それから、li要素の後に1番目にくるli要素、つまりその次のページボタンを指定します。これでいつも次のぺージへ遷移するボタンを指定できます。
該当ページが2ページ目であっても、このXPathでは次の3ページ目も指定できます。
e) 上記のXPathをOctoparseのページネーションのXPath入力ボックスに入れ替えます。
続きを読む