我正試圖解析維基上的頁面以獲取頁面上的Infobox Book
模板的其他信息。問題是我只能獲取模板的源代碼,而不是頁面上已轉換的模板。從MediaWiki API獲取頁面中的模板調用輸出
我使用以下網址作爲基礎: http://starwars.wikia.com/api.php?format=xml&action=expandtemplates&text={{Infobox%20Book}}&generatexml=1
的文檔並沒有真正告訴我怎麼把它指向一個特定的頁面並解析頁面的轉化模板。這甚至是可能的,還是我需要自己解析它?
我不明白,你試圖做什麼?上面給出的API調用對我來說工作得很好。你想解析一個完整的頁面,而不是一段維基文本?然後,您應該使用'/index.php?action=remote&title = Page_title'(或者,如果您確實需要使用API入口點,請使用變通辦法'/api.php?action=parse&text={{NS:頁}})' – leo
我想要一個完全填充的模板。這包括相關頁面的數據。以上僅給出了模板的原始文本,而不是包含源數據的渲染模板。在目標上使用這個URL:'http://starwars.wikia.com/wiki/Lost_Tribe_of_the_Sith:_Skyborn'我期望下面的api調用給我提供所有書籍信息的模板。 'http://starwars.wikia.com/api.php?format=xml&action=expandtemplates&text= {{信息框%20Book}}&generatexml = 1&頁= Lost_Tribe_of_the_Sith:_Skyborn'。這只是給出了原始模板文本。 – Justin
我想你誤解了MediaWiki模板如何在這裏工作。在這種情況下,添加'&page = Lost_Tribe_of_the_Sith:_Skyborn'並沒有什麼區別,因爲模板{{Infobox Book}}不會根據它所處的頁面而改變。它只隨着參數的變化而變化,例如['{{Infobox Book |書名= Sith的Lost部落:Skyborn}}'](http://starwars.wikia.com/api.php?format=xml&action=expandtemplates&text= {{Infobox%20Book | book% 20name =丟失%20Tribe%20of%第二十條%20Sith:%20Skyborn}}&generatexml = 1&頁= Lost_Tribe_of_the_Sith:_Skyborn)。 – leo