Kimono 用于没有 next> 的分页的 XPath
Kimono XPath for pagination without next>
不明白如何为 kimono 在导航中没有 next> 的抓取进行分页,即对于分页结构:
<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>
xpath for css 选择器仅给出第 2 页的结果:
div.pages > a
我想要一个 API(即不想生成带有附加 API 的 URL 列表)
你有两个选择。
(a) 尝试 div.pages > span + a
。此 'next page' select 或将始终 select 'next' 页面并将停在最后一页。示例标记显示当前 select 页是 span
,下一页 link 是相邻的 a
。您可以使用 adjacent sibling selector +
到 select a
span
之后的 a
。注意:您没有 link 到目标站点,因此不能保证这会起作用,但根据您的示例标记,它会起作用。
(b) manually enter a list of URLs API 抓取简单。看起来您想要的列表是:
http://www.thissiteurl.com/page=1
http://www.thissiteurl.com/page=2
http://www.thissiteurl.com/page=3
...
下面你会发现XPath和CSSselect或到select所有a
用于分页的元素:
XPath: //descendant::*[1]/a[contains(@href, 'page=')]
CSS select或: div[id=results] div[class~=pull-right] a
div[class~=pull-right]
表示您想要 select 所有 divs
的 class
属性等于 pull-right
。
我不太喜欢 CSS select 或者,但是 Kimono 出于某种原因不允许 a[href]
类型的 selection。理想情况下,你会使用这样的东西:
- 更好CSSselect或:
div[id=results] a[href=~page]
不明白如何为 kimono 在导航中没有 next> 的抓取进行分页,即对于分页结构:
<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>
xpath for css 选择器仅给出第 2 页的结果:
div.pages > a
我想要一个 API(即不想生成带有附加 API 的 URL 列表)
你有两个选择。
(a) 尝试 div.pages > span + a
。此 'next page' select 或将始终 select 'next' 页面并将停在最后一页。示例标记显示当前 select 页是 span
,下一页 link 是相邻的 a
。您可以使用 adjacent sibling selector +
到 select a
span
之后的 a
。注意:您没有 link 到目标站点,因此不能保证这会起作用,但根据您的示例标记,它会起作用。
(b) manually enter a list of URLs API 抓取简单。看起来您想要的列表是:
http://www.thissiteurl.com/page=1
http://www.thissiteurl.com/page=2
http://www.thissiteurl.com/page=3
...
下面你会发现XPath和CSSselect或到select所有a
用于分页的元素:
XPath:
//descendant::*[1]/a[contains(@href, 'page=')]
CSS select或:
div[id=results] div[class~=pull-right] a
div[class~=pull-right]
表示您想要 select 所有 divs
的 class
属性等于 pull-right
。
我不太喜欢 CSS select 或者,但是 Kimono 出于某种原因不允许 a[href]
类型的 selection。理想情况下,你会使用这样的东西:
- 更好CSSselect或:
div[id=results] a[href=~page]