Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NodeJS:';undefined不是有效的uri或选项对象';请求_Javascript_Node.js_Request_Cheerio - Fatal编程技术网

Javascript NodeJS:';undefined不是有效的uri或选项对象';请求

Javascript NodeJS:';undefined不是有效的uri或选项对象';请求,javascript,node.js,request,cheerio,Javascript,Node.js,Request,Cheerio,我正试图向一个网站发出请求,并从数组中从我拥有的每个页面中刮取一定的值 请求的所有链接的数组保存到scrapedar中 当我尝试运行此命令时,在请求(newUgcLink,function(error,response,body){ 提前感谢您的帮助:) 编辑1:newUgcLink的定义不正确,所以我将l-;移到声明newUgcLink的行上方,但仍然得到相同的错误 编辑2:我真傻!在向上移动l--;之后,我忘记了更改while语句!非常感谢FrankerZ的帮助,因为我不知道如何将注释标记为

我正试图向一个网站发出请求,并从数组中从我拥有的每个页面中刮取一定的值

请求的所有链接的数组保存到scrapedar中

当我尝试运行此命令时,在
请求(newUgcLink,function(error,response,body){

提前感谢您的帮助:)

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


编辑2:我真傻!在向上移动l--;之后,我忘记了更改while语句!非常感谢FrankerZ的帮助,因为我不知道如何将注释标记为答案:)

console.log(newUgcLink)
确保
newUgcLink.uri
已定义。奇怪的是,它没有定义……当我将它放入代码中时:
console.log(“newUGCLink:+newUGCLink)console.log(“scrapdarr[l]:”+scrapdarr[l])
我得到:newUGCLink:undefined scrapdarr[l]:(我应该得到的url)\n\n编辑:按照FrankerZ的建议做了,现在定义了newUgcLink,但我仍然得到相同的错误您的第一次迭代将始终是未定义的。在循环中首先执行
l-->
。Javascript数组是基于0的索引。
(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)
}}