jquery - 使用 JQuery 获取维基百科信息框内容

标签 jquery wikipedia wikipedia-api

我希望使用 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 格式

这包含带有信息框内容的表格:

 <table class="infobox vcard" cellspacing="5" style="width:22em;">

结果只是一个用于放置数据的空表占位符

它可以与页面中的一些其他元素配合使用 - 例如,将 .infobox 替换为 .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 = $("<document>"+wikiHTML+"</document>");
  $("#result").append($wikiDOM.find('.infobox').html());
});

希望有效!

关于jquery - 使用 JQuery 获取维基百科信息框内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8570032/

相关文章:

javascript - ajax 后调用未刷新 MVC 中的 Controller View

javascript - 如何首先加载动态插入的 img

javascript - 加载页面时,完整日历滚动到顶部

jquery - 在悬停/单击时设置背景内部 div

rdf - 使用 DBpedia 和 SPARQL 获取所有定义的颜色

python - 如何加载维基百科文章的旧(修订)内容

image - 如何在不注册 Bot 帐户的情况下以编程方式从 Wikimedia Commons 下载图像?

wikipedia - 如何从维基百科页面中提取所有引用数据?

python - 如何按类别从维基百科中抓取数据?

php - 在 PHP 中解析维基百科标记的最佳方法是什么?