2012-09-28 33 views
-1

我想爲某些維基百科文章開發某種知識樹,所以我使用Wiki API來獲取JSON編碼數據。過濾維基百科API鏈接輸出到當前內容

http://en.wikipedia.org/w/api.php?action=query&list=allpages&format=json&aplimit=10&generator=links&titles=List_of_object-oriented_programming_terms&gpllimit=10

的問題是,它似乎是一個過時的版本,或者我需要使用不同的選擇,因爲我得到比不同的信息是什麼當前的瀏覽器展示爲同一篇文章。

這太噁心了,因爲我在輸出中逐字地輸入了「F * ck you's」(這是嚴重錯誤,如果您不相信,請訪問鏈接)。例如:

[ 
    {"pageid":5878274,"ns":0,"title":"!"}, 
    {"pageid":3632887,"ns":0,"title":"!!"}, 
    {"pageid":600744,"ns":0,"title":"!!!"}, 
    {"pageid":34443176,"ns":0,"title":"!!!Dam You!!!"}, 
    {"pageid":11011780,"ns":0,"title":"!!!Dam You!!! And Then Some"}, 
    {"pageid":34443184,"ns":0,"title":"!!!Dam You!!! and Then Some"}, 
    {"pageid":2556962,"ns":0,"title":"!!! (album)"}, 
    {"pageid":10065458,"ns":0,"title":"!!! (band)"}, 
    {"pageid":16381751,"ns":0,"title":"!!Destroy-Oh-Boy!!"}, 
    {"pageid":16789001,"ns":0,"title":"!!Dam you!!"} 
] 

任何想法什麼其他的方法,我可以用它來獲得物件內所有目前維基百科的文章鏈接?

在此先感謝。如果有問題,我打算與Python合作。

回答

1

我相信你可能會使用錯誤的選項。 刪除

&list=allpages 

來自URL。這給我返回了正確的鏈接。

查看http://www.mediawiki.org/wiki/API:Query#Using_list.3Dallpages_as_generator瞭解更多信息。

+0

感謝它的工作!,任何想法是什麼將使用&list = allpages沒有paremeters? Wiki Api說:枚舉給定名稱空間中的所有頁面。 但我認爲應該忽略API選項(&list = allpages),如果沒有其他參數提供像&apfrom,&apminsize等... – nxgtrturbo

+0

從我給的鏈接,list = allpages否決標題選項,不管是什麼你給的參數。這就是API的方式。由於您沒有指定開始標題,因此它從一開始就開始:!! ...您將使用list = allpages參數來瀏覽wiki上的每個**頁面。 – korylprince