Kimono XPath没有下一个分页>

时间:2015-10-30 12:32:04

标签: xpath pagination kimono

不知道如何在没有下一个>的情况下对和服刮痧进行分页。在导航中,即用于寻呼结构:

<div class="pages" style="clear: both;">
    <span>1</span>    
    <a href="/page=2">2</a>
    <a href="/page=3">3</a>
    <a href="/page=4">4</a>
</div>

css选择器的xpath仅为第2页提供结果:

div.pages > a

我想拥有一个API(即不想使用其他API生成网址列表)

2 个答案:

答案 0 :(得分:1)

您有两种选择。

(a)尝试div.pages > span + a。这个“下一页”选择器将始终选择“下一页”,并将停在最后一页。示例标记显示当前所选页面为span,下一页链接为相邻a。您可以使用adjacent sibling selector +选择a之后的span。注意:您没有指向目标站点的链接,因此无法保证这将起作用,但根据您的示例标记,它会。

(b)此API的简单manually enter a list of URLs可以抓取。看起来你想要的列表是:

http://www.thissiteurl.com/page=1
http://www.thissiteurl.com/page=2
http://www.thissiteurl.com/page=3
...

答案 1 :(得分:0)

您将在下面找到 XPath CSS选择器,以选择用于分页的所有a元素:

  • XPath //descendant::*[1]/a[contains(@href, 'page=')]

  • CSS选择器div[id=results] div[class~=pull-right] a

div[class~=pull-right]表示您要选择divs属性等于class的所有pull-right

我不太喜欢CSS选择器,但由于某种原因,和服不允许a[href]类型的选择。理想情况下,你会使用这样的东西:

  • 更好的CSS选择器div[id=results] a[href=~page]