Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.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 使用节点js将名称为的爬网图像写入本地服务器_Javascript_Node.js_Web Crawler - Fatal编程技术网

Javascript 使用节点js将名称为的爬网图像写入本地服务器

Javascript 使用节点js将名称为的爬网图像写入本地服务器,javascript,node.js,web-crawler,Javascript,Node.js,Web Crawler,我正在制作一个网络爬虫,我想把我的图片保存在我项目的图片目录中,并使用它们的原始名称。。。假设爬网后我得到两张图片,第一次得到../logo.png,另一次得到另一张标题为../glasses.png的图片,然后我想在我的图片文件夹中将我的图片保存为相同的标题 这是我的密码: var $ = cheerio.load(html); var title = $('head title').text(); var keywords = $('head meta[name=ke

我正在制作一个网络爬虫,我想把我的图片保存在我项目的图片目录中,并使用它们的原始名称。。。假设爬网后我得到两张图片,第一次得到../logo.png,另一次得到另一张标题为../glasses.png的图片,然后我想在我的图片文件夹中将我的图片保存为相同的标题 这是我的密码:

    var $ = cheerio.load(html);
    var title = $('head title').text();
    var keywords = $('head meta[name=keywords]').attr('content');
    var desc = $('head meta[name=description]').attr('content');
    var links = $('a');
    var img = $('img').attr('src');
    var request = http.get($, function(res){
        var imagedata = ''
        res.setEncoding('binary')

        res.on('data', function(chunk){
            imagedata += chunk
        });

        res.on('end', function(){

            fs.writeFile(img, imagedata, 'binary', function(err){
                if (err) throw err
                console.log('File saved.')
            });
        });

    });

任何帮助都将不胜感激。

http.get($,函数(res){…
不应
$
img
(src属性的值);soo那么我写的是什么而不是$?请解释一下@c.p.u1Bro,您正在尝试http.get所有图像,对吗?您需要
http.request
获取img属性的src值。现在,您正在向
cheerio.load
返回的对象发送请求{应该是
var request=http.get(img,function(res){
其中img是src值。好的,它的工作。但是我做了一些更改,我在数组中拍摄了图像,但是错误被分割了,没有定义所以我可以使用什么???