使用JQuery获取Wikipedia信息框内容
我希望使用JQuery来撤回包含公司详细信息的Wikipedia信息框的内容。
我想我差不多了,但我无法完成最后一步
var searchTerm="toyota"; var url="http://en.wikipedia.org/w/api.php?action=parse&format=json&page=" + searchTerm+"&redirects&prop=text&callback=?"; $.getJSON(url,function(data){ wikiHTML = data.parse.text["*"]; $wikiDOM = $(wikiHTML); $("#result").append($wikiDOM.find('.infobox').html()); });
第一部分有效–wikiHTML包含页面内容,由Wikipedia API解析为HTML格式
这包含具有信息框内容的表:
result只是一个空表占位符来放入数据
它适用于页面中的其他一些元素 – 例如,交换.infobox for .logo可以很好地工作。
很高兴能提供更多信息,但我花了好几个小时来尝试这么多的排列,我甚至不确定什么是相关的……
TIA
维基百科的JSON似乎没有返回包装文档元素。 这似乎阻止了根目录中元素的任何属性可供选择。 试试这个:
var searchTerm="toyota"; var url="http://en.wikipedia.org/w/api.php?action=parse&format=json&page=" + searchTerm+"&redirects&prop=text&callback=?"; $.getJSON(url,function(data){ wikiHTML = data.parse.text["*"]; $wikiDOM = $(""+wikiHTML+" "); $("#result").append($wikiDOM.find('.infobox').html()); });
希望有效!