NodeJS:“未定义不是有效的uri或选项对象”与Request

时间:2018-08-01 01:49:14

标签: javascript node.js request cheerio

我正在尝试向网站提出请求,并从数组中的每个页面中抓取一定的值。

所有请求链接的数组都保存到scrapedArr

当我尝试运行此命令时,在行request(newUgcLink, function(error, response, body) {上出现“未定义是无效的uri或选项对象”的错误

(code to get scrapedArr)
    message.channel.send(`\`\`\`---------\n${scrapedArr.join('\n')}\`\`\``)
    l = scrapedArr.length
    var newUgcLink;

    do {
        newUgcLink = scrapedArr[l]
        l--;
        request(newUgcLink, function(error, response, body) {
            if (error) {
                throw new Error(error);
                console.log(error);
            }
            var $ = cheerio.load(body);
            var scrapedArr2 = [];
            $(lookfor2).each(function(i, element) {
                var name = $('td:nth-child(3):last-child').text();
                scrapedArr2.push(name);


            });
            console.log(scrapedArr2)
            message.channel.send(`${newUgcLink}: ${scrapedArr2}`);
        })
    }
        while (l > -1)
}}

非常感谢您的帮助:)

编辑1:newUgcLink定义不正确,所以我将l--;在声明newUgcLink的行上方,但是我仍然遇到相同的错误

编辑2:愚蠢的我!移动l--后;起来,我忘了更改while语句!非常感谢FrankerZ的帮助,因为我不知道如何将评论标记为答案:)

0 个答案:

没有答案