我正在使用HTML和JavaScript编写an "auto-wikifier" tool。对于要被文本化的文本中的每个单词,我需要获得包含该单词的页面列表(以便文本中的匹配短语可以被自动获取,如果找到它们)。有没有办法使用维基百科的API或Web服务之一获取包含特定单词的所有维基百科页面的列表?
function getMatchingPageTitles(theString){
//get a list of all matching page titles for a specific string, using one of Wikipedia's APIs or web services
}
答案 0 :(得分:6)
First,I'm not sure I understand how would something { {3}} like that be。 (维基百科有关于所有常用词的文章,我认为与它们的链接没有任何用处。)
但是如果你真的想做这样的事情,我认为更好的方法是使用useful找出你输入文字中哪些词有文章。
例如,对于字符串I am writing an "auto-wikifier" tool
,您的查询可能类似于:
答案是:
<api>
<query>
<normalized>
<n from="am" to="Am" />
<n from="writing" to="Writing" />
<n from="an" to="An" />
<n from="auto-wikifier" to="Auto-wikifier" />
<n from="tool" to="Tool" />
</normalized>
<pages>
<page ns="0" title="Auto-wikifier" missing="" />
<page pageid="2513432" ns="0" title="Am" />
<page pageid="2513422" ns="0" title="An" />
<page pageid="25346998" ns="0" title="I" />
<page pageid="30677" ns="0" title="Tool" />
<page pageid="32977" ns="0" title="Writing" />
</pages>
</query>
</api>
很少注意到:
missing=""
属性。titles
参数的每个查询的限制为50个。答案 1 :(得分:1)
API:Allpages是一个有趣的开始。可悲的是,it is limited to 500 queries