2017-07-23 52 views
-2

我運行了以下內容,我注意到,500後,它停了,我想它再次運行從下一個索引,以便進行搜索的開始:如何繼續致電維基百科API 500限制?

var a = 0; 
jQuery.getJSON("https://en.wikipedia.org/w/api.php?action=query&list=embeddedin&&eilimit=1000000&eititle=Template:Infobox&callback=?", { 
    disablelimitreport: true, 
    format: "json" 
}, function(data) { 
    jQuery.each(data.query.embeddedin, function(i, item) { 
     myTitle = item.title; 
     wikiText(); 
     console.log(a); 
     a++ 
    }); 
}); 

反正是有,我可以告訴它在完成第一個500後從下一個索引再次開始?

jsFiddle

我看到他們的documentation陳述所以我不知道我怎麼會做下一組的500元話費,如果以往任何時候都無需獲得轉儲

+0

你可以在一個循環中運行它,但你爲什麼要對維基百科進行多批次的500次調用?你想達到什麼目的? –

+0

@JoãoSoares在維基百科上找到任何有信息框的頁面 –

+0

這是一個龐大的處理過程,爲什麼不創建一個分頁功能。 api肯定有「文章計數」。除以500,返回「頁面」 - 循環頁面,完成工作。 –

回答

1

從你first request你必須要的eicontinue值(在你的情況下,它是'0|2645'),然後使用它的下一個請求:

https://en.wikipedia.org/w/api.php?action=query&list=embeddedin&&eilimit=1000000&eititle=Template:Infobox&callback=?&eicontinue=0|2645 

而就繼續循環,直到eicontinue可用。

+0

謝謝,我會張貼我自己的答案,因爲我沒有解決它。基本上我得到最後的id,然後問它從該ID開始循環,使用eicontinue,幾乎所有你說的,我發現昨晚的方式 –

+0

實際上我接受它,這是我做的反正同樣的事情。 –