2014-10-06 47 views
1

我正在使用YQL從網站上刮取一些圖像。如何選擇XPath中的前n個元素

問題是我只想從該網站的前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

這個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工作。

+1

哇,這是一個整潔的小動作與前面。我知道我不得不使用''count()'',但我正在嘗試使用''self''而不是'''''''。 – 2014-10-07 08:32:09