wedata:400のexampleUrlを分割した
wedata.net
まだ他のコーダーの皆さんに受け入れられるかわかりませんが、意図を書いておきます。
pageElementを基準に分割しています。以前述べたように、400のpageElementはざっくり3つに大別されます。
tanyao.hatenadiary.jp
パターン1
//article
パターン2
//*[starts-with(@id,'post-')]
パターン3
id('content')/div[contains(@class,'post')]
この3つですね。ならば3つに分ければいいのではと思われるでしょうが、重複を考慮する必要があります。具体的には1と2、2と3が両者とも同時に適用される可能性がありますから計5パターンの分岐が存在します。XPathで書くと
exampleUrl_a
//article
exampleUrl_b
//*[starts-with(@id,'post-')]
exampleUrl_c
//article[starts-with(@id,'post-')]
exampleUrl_d
id('content')/div[contains(@class,'post')]
exampleUrl_e
id('content')/div[starts-with(@id,'post-')][contains(@class,'post')]
こんな感じです。exampleUrl_cがexampleUrl_a(パターン1)とexampleUrl_b(パターン2)の重複、exampleUrl_eがexampleUrl_b(パターン2)とexampleUrl_d(パターン3)の重複です。nextLinkに関してはまったく考慮していません。
従来通りだと多すぎて管理に支障が出ると判断しました。かなりの数を削除しています。見落としがあるかもしれません。