不知道如何在没有下一个>的情况下对和服刮痧进行分页。在导航中,即用于寻呼结构:
<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生成网址列表)
答案 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]
类型的选择。理想情况下,你会使用这样的东西:
div[id=results] a[href=~page]