猿问

怎么在cheerio获得的数据中嵌套使用遍历方法?

node写了的小爬虫,用cheerio解析爬取到的数据封装写入时候报错了,说是循环调用的问题,贴代码:

    $('#live-list-contentbox>li').each((i, ele) => {        let _this = $(ele);
        rooms.push({            title: _this.find('.play-list-link').attr('title'),            author: _this.find('.dy-name').text(),            room_num: _this.find('.play-list-link').attr('href').replace(/\//g, ''),            room_label: _this.find('.impress-tag-item').map((i, ele) => {                return $(this).text()
            })
        });
    });

上面最外层each的是每个li, 我想在room_label 里放几个爬到的文字标签, 然后就想着用map来遍历一个数组回来,结果就报错了,说是循环调用,去掉这个map可以正常运行,想问下究竟为什么不能这样嵌套使用遍历方法?

报错图:

一只甜甜圈
浏览 1817回答 1
1回答

汪汪一只猫

     room_label: _this.find('.impress-tag-item').toArray().map((i, ele) => {                return $(this).text()             })
随时随地看视频慕课网APP

相关分类

Node.js
我要回答