一丛萱草 2019-09-06 20:40 采纳率: 100%
浏览 1036
已采纳

nodejs抓取图片时的问题

最近刚刚学nodejs,在学习中遇到一个难题,当我执行命令运行时报path must be a string.Received undefined 网上找了很多方法都没解决,具体情况如下。
图片说明

以下是程序代码
index.js

const request = require('request');
const path = require('path');
const fs = require('fs');
const config = require('./config');
const analyze = require('./analyze');



function start(){
    request(config.url,function(err,res,body){
        console.log('start');
        if (!err && res) {
            console.log('start');
            analyze.findImg(body,downLoad);
        } 
    })
}

function downLoad(imgUrl,i){
    let ext = imgUrl.split('.').pop();
    request(imgUrl).piep(fs.createWriteStream(path.join(config.imgDir,i + '.' + ext),{
        'encoding':'utf8'
    }))
    console.log(i);
}

start();

config.js

const url = "https://www.neusoft.com/cn/";
const path = require('path');
const imDir = path.join(__dirname,'img');
module.exports.url = url;
module.exports.imDir = imDir;

analyze.js

const cheerio = require('cheerio');
function findImg(dom,callback){
    let $ = cheerio.load(dom);
    $('img').each(function(i,elem){
        let imgSrc = $(this).attr('src');
        callback(imgSrc,i);
    });
}
module.exports.findImg = findImg;

node与npm版本号

图片说明

用户环境变量配置

图片说明

系统环境变量配置

图片说明

项目目录

图片说明

求大佬帮忙看下,实在没招了,可以的话能把原理说明下更好。

  • 写回答

1条回答 默认 最新

  • 一丛萱草 2019-09-07 09:51
    关注

    已经解决啦,request后面的方法名写错了,是pipe,以及图片地址错了应是ImDir.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法