Javascript 正在删除html页面结果。。顺序不对
我正在尝试使用Javascript 正在删除html页面结果。。顺序不对,javascript,node.js,web-scraping,cheerio,Javascript,Node.js,Web Scraping,Cheerio,我正在尝试使用cheerio js从该页面获取数据: var html = "<div class='clear'>" + "<div class='time_head'>time_head content1</div>" + "<div class='blockfix'>blockfix1</div>" + "<div class='blockfix'>blockfix2</div>" + "<div c
cheerio js
从该页面获取数据:
var html =
"<div class='clear'>" +
"<div class='time_head'>time_head content1</div>"
+ "<div class='blockfix'>blockfix1</div>"
+ "<div class='blockfix'>blockfix2</div>"
+ "<div class='time_head'>time_head content2</div>"
+ "<div class='blockfix'>blockfix3</div>"
+ "<div class='blockfix'>blockfix4</div>"
+ "<div class='blockfix'>blockfix5</div>"
+ "</div>";
结果是:
[
{ title: 'time_head content1time_head content2',
game: 'blockfix1blockfix2blockfix3blockfix4blockfix5' }
]
但是我需要每一个时间头和它的区块补丁
TIME_HEAD CONTENT1
----blockfix1
----blockfix2
TIME_HEAD CONTENT2
----blockfix3
----blockfix4
请注意:
1-时间头的数量总是变化的
2-我对其他解决方案持开放态度使用获取所有元素。time\u head
,在其上迭代,应用while循环,直到下一个元素具有类blockfix
const输出=[];
$('.time_head')。每个(函数(i){
让next=$(this.next('.blockfix');
push({“title”:$(this.text(),game:[]});
while(下一个){
输出[i].game.push(next.text());
const isNext=$(next).next('.blockfix');
next=isNext.length>0?$(next).next('.blockfix'):false;
}
});
控制台日志(输出)代码>
时间头内容1
区块修正1
区块修正2
时间2
区块修复3
区块修复4
区块修复5
而不是应用循环覆盖。清除选择time\u head
。使用time\u head
时,结果为空。。谢谢你。。看看这个问题:
TIME_HEAD CONTENT1
----blockfix1
----blockfix2
TIME_HEAD CONTENT2
----blockfix3
----blockfix4