我想創建一個使用內容從一個wiki頁面(link)一個JSON對象,在部分Contents
我想提取所有內容,創建這樣一個對象:創建HTML代碼JSON對象
{
Arts : {
"Performing Arts" : [{"Music" : [
{"title" : "Accompanying"},
{"title" : "Chamber music"},
{"title" : "Church music"},
{"Conducting" : [
{"title" : "Choral conducting"},
{"title" : "Orchestral conducting"},
{"title" : "Wind ensemble conducting"}
]},{....}],
"Visual arts" : [all its sub-child]
}
所以我試過的是,我複製源的HTML代碼看起來像這樣(每個部分(Arts
,Humanities
...),在這裏我只給了第一部分Arts
的例子):
h2
這包含第一部分Arts
,然後是h3
元素,這些元素中的每一個都包含子子標題(Performing arts
,Visual arts
,...),並且這些h3
元素中的每一個都跟有一個包含單個元素的div
元素,每個元素這些ul
元素後跟li
元素的列表,這些li
元素中的每一個都包含子子子標題(例如Performing arts
包含Music
,Dance
,...),並且如果此子子子元包含其他子元素,它將後跟一個包含li
元素列表的元素ul
,這些元素包含子子子標題(例如Conducting
含有Choral conducting
,Orchestral conducting
,...)等等......
所以,我想是這樣的:
var json = [];
$("body").find('h2').each(function(){
var h2 = $(this).find('span').first().text();
var childs = $(this).nextAll('h3');
childs.each(function(){
var h3 = $(this).find('span').first().text();
subChilds = $(this).next('div');
subChilds.each(function(){
subSubChilds = $(this).next('ul');
console.log(subSubChilds);
})
})
});
但後來我得到棧,我不知道我該怎麼繼續。
這裏是一個小提琴:https://jsfiddle.net/W4Km8/9444/(在這種提琴我只複製了前兩個部分Arts
和Humanities
的源代碼)
我該如何解決這個問題?
我不知道您試圖從HTML維基百科頁面中獲取信息的目的,但有一個API以機器可讀格式獲取維基百科文章:https://www.mediawiki.org/wiki/API :主頁 –