0

如何以xml / html / json甚至格式提取维基百科文章的内容?

此方法以 BBCode 格式提取数据: http ://pl.wikipedia.org/w/api.php?format=json&action=query&titles=Wikipedia:Skarbnica%20Wikipedii/Wynalazki%20wieku%20XIX&prop=revisions&rvprop=content&callback= ?

我不能使用 Javascript 使用这些数据,因为我不喜欢引用它们。如何解析它?也许有一个特殊的库来帮助使用数据?

4

2 回答 2

0

返回的数据不在BBCode中,它是wikicode(MediaWiki 特有的标记语言)。

如果您想将结果解析为 HTML,请添加&rvparse到您的查询中。例如:http ://pl.wikipedia.org/w/api.php?format=json&action=query&titles=Wikipedia:Skarbnica%20Wikipedii/Wynalazki%20wieku%20XIX&prop=revisions&rvprop=content&rvparse

于 2013-10-31T12:28:30.893 回答
0

将以下代码复制并粘贴到 Chrome 控制台中(按 F12),然后单击控制台日志输出以检查返回的对象。

(function(){
 var callbackName="cb";
 window[callbackName]=function(data){
   s.parentElement.removeChild(s);
   console.log(data);
   if(!data.query || !data.query.pages){
     //unexpected object, return
     return;
   }
   for(page in data.query.pages){
     console.log(data.query.pages[page]);
   }

 };
 var s = document.createElement("script");
 s.src="http://pl.wikipedia.org/w/api.php?"+
  "format=json&action=query&titles=Wikipedia:"+
  "Skarbnica%20Wikipedii/Wynalazki%20wieku%20"+
  "XIX&prop=revisions&rvprop=content&callback="+
  escape(callbackName);
 document.body.appendChild(s);
}());

如果您希望维基百科返回其他数据,请查看他们的 api:http ://en.wikipedia.org/w/api.php

于 2013-10-31T02:53:40.110 回答