如何在XPath中选择前n个元素

时间:2014-10-06 17:35:51

标签: html xml xpath web-scraping yql

我正在使用YQL从网站上抓取一些图片。

问题是我只想要该网站的前5张图片。

我有以下查询:

select * from html where url="http://myanimelist.net/anime/9253/Steins;Gate" and xpath='//img[position()<=5]'

但是,它返回所有图像元素而不是前5个。

YQL控制台:open YQL console with above XPath

我的XPath查询有什么问题吗?

PS:我不能使用LIMIT 5,因为我可能还需要抓一些其他标签。

1 个答案:

答案 0 :(得分:1)

此XPath表达式将选择前5个img元素:

//img[count(preceding::img) < 5]

以下是整个YQL查询:

select * from html where url="http://myanimelist.net/anime/9253/Steins;Gate" and xpath='//img[count(preceding::img) < 5]'

您可以在YQL Console上观看它。