Я хочу, чтобы создать объект JSON, используя содержимое со страницы вики (link), в разделе Contents
Я хочу, чтобы извлечь все содержимое и создать объект так:создать объект JSON из HTML кода
{
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
элемента, каждый из эти элементы ul
сопровождаются списком li
элементов, каждый из которых содержит название дочернего юнита (например, Performing arts
содержит Music
, Dance
, ...), и если этот дочерний югу содержит другие дочерние элементы, он будет за которым следует один элемент ul
, который содержит список элементов li
, эти элементы содержат заголовок дочернего югу (например, 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 Wikipedia, но есть API для получения статей в wikipedia в машиносчитываемых форматах: https://www.mediawiki.org/wiki/API :Главная страница –