在节点js中使用:nth-​​child进行循环引发语法错误

时间:2018-08-30 08:36:53

标签: node.js cheerio

我正在尝试抓取具有多个相似元素的网站,并将其存储在json对象中,以便随后将其插入到数据库中。抓取效果很好,但是当我尝试进行循环以存储每个元素的内容时,到目前为止,我唯一的好解决方案导致语法错误:无法解析第n条规则('i')

这是代码

for(var i = 1; i <= childElementter; i++) {
            json.name = $("#list_new").find("li:nth-child(i)").find("h3").children().text();
            json.latinname = $("#list_new").find("li:nth-child(i)").find("h4").children().text();
            json.family = $("#list_new").find("li:nth-child(i)").find("p").children().text();
            nodeList[i] = json;
       }

使用cheerio

1 个答案:

答案 0 :(得分:0)

问题出在标记上:

for(var i = 1; i <= childElementter; i++) {
            json.name = $("#list_new").find("li:nth-child(" + i + ")").find("h3").children().text();
            json.latinname = $("#list_new").find("li:nth-child( " + i + " )").find("h4").children().text();
            json.family = $("#list_new").find("li:nth-child( " + i +" )").find("p").children().text();
            nodeList[i] = json;
        }