首先,你應該尋找在paging model(您的鏈接上面得到了壓縮,所以我只是把它放在這裏。
當您使用沒有指定<execute></execute>
塊分頁,它將在使用查詢字符串,在<url></url>
中指定的URL,只需要使用Flickr Photo Search Example,就必須在控制檯打開診斷程序來查看URL中的更改,id
屬性用於在查詢中插入數字。在這裏說明,尋呼部分看起來像這樣:
<paging model="page">
<start id="page" default="0" />
<pagesize id="per_page" max="250" />
<total default="10" />
</paging>
例如,查詢
select * from flickr.photos.search(10,20) where has_geo="true"`
使用的URL是http://api.flickr.com/services/rest/?method=flickr.photos.search&has_geo=true&page=1&per_page=30
。正如你所看到的,它實際上採取了page=1
,但要求per_page=30
並在內部截斷了前10個結果,以便得到10的偏移量和總共20個結果。 YQL做到這一點的原因是因爲所選模型是page
。
另一個例子,如果你試圖這樣做:
select * from flickr.photos.search(249,2) where has_geo="true"
YQL將同時檢索...&page=1&per_page=250
和...&page=2&per_page=250
(我已經縮短了插圖的URL)像預期的那樣得到的結果。
如果您在<execute></execute>
部分中使用JavaScript,則也會在全局範圍中定義分頁變量。你可以看到這個在flickr.photos.astro OpenData Table中被使用。
我想應該回答你的問題,因爲我看到on GitHub,你一直在研究如何使用XPath提取頁面。
對於你的情況,你應該有這樣的:
<paging model="page">
<start id="page" default="1" />
<pagesize id="per_page" max="10" />
<total default="10" />
</paging>
的per_page
將是你的內部查詢,但它用於YQL來確定所需的查詢。然後在你的JavaScript中可能會做類似的事情:
y.query(
"select * from html where [email protected]",
{url: "http://jetpackgallery.mozillalabs.com/jetpacks?page=" + page}
);