如何获取维基百科的信息框数据?
How to get the infobox data of Wikipedia?
我正在制作一个网站,该网站将使用 Wikipedia API
自动从维基百科获取数据。我已经尝试过的是使用 find('.infobox')
来查找信息框数据。
但是,我只想获取信息框中水平线以下的数据(从下图中的disease: covid开始)
这是我目前拥有的代码:
let area = "Canada"
var url="http://en.wikipedia.org/w/api.php?action=parse&format=json&page=COVID-19_pandemic_in_"+area +"&redirects&prop=text&callback=?";
$.getJSON(url,function(data){
wikiHTML = data.parse.text["*"];
$wikiDOM = $("<document>"+wikiHTML+"</document>");
var info= $wikiDOM.find('.infobox').html();
console.log(info)
这将显示信息框中的所有信息。
谁能给我一个想法或解决方案,告诉我该怎么做?
还有维基百科的图片无法显示会显示invalid url
的错误(图片区域会显示alt
文字)有没有办法选择不显示图片在显示之前这将阻止 console
中的图像 (alt text
) 和 error
?
感谢任何回复!
*下图中我只想获取disease: Covid-19
到Vaccinations
的数据
解决方法是根据条件过滤元素
I only want to get the data from disease: Covid-19 to Vaccinations
您可以查看包含这些信息的元素并找到共同点。我看到每个元素都包含 th.infobox-label
.
检查其他元素是否不具有相同的结构。
如果不是,则根据元素是否包含 th.infobox-label
来过滤元素。
我正在制作一个网站,该网站将使用 Wikipedia API
自动从维基百科获取数据。我已经尝试过的是使用 find('.infobox')
来查找信息框数据。
但是,我只想获取信息框中水平线以下的数据(从下图中的disease: covid开始)
这是我目前拥有的代码:
let area = "Canada"
var url="http://en.wikipedia.org/w/api.php?action=parse&format=json&page=COVID-19_pandemic_in_"+area +"&redirects&prop=text&callback=?";
$.getJSON(url,function(data){
wikiHTML = data.parse.text["*"];
$wikiDOM = $("<document>"+wikiHTML+"</document>");
var info= $wikiDOM.find('.infobox').html();
console.log(info)
这将显示信息框中的所有信息。
谁能给我一个想法或解决方案,告诉我该怎么做?
还有维基百科的图片无法显示会显示invalid url
的错误(图片区域会显示alt
文字)有没有办法选择不显示图片在显示之前这将阻止 console
中的图像 (alt text
) 和 error
?
感谢任何回复!
*下图中我只想获取disease: Covid-19
到Vaccinations
解决方法是根据条件过滤元素
I only want to get the data from disease: Covid-19 to Vaccinations
您可以查看包含这些信息的元素并找到共同点。我看到每个元素都包含 th.infobox-label
.
检查其他元素是否不具有相同的结构。
如果不是,则根据元素是否包含 th.infobox-label
来过滤元素。