首页 > Web开发 > 详细

nodejs 爬图片

时间:2020-06-20 15:32:51      阅读:73      评论:0      收藏:0      [点我收藏+]
const path = require(‘path‘);
const request = require(‘request‘);
const cheerio = require(‘cheerio‘);
const fs =  require(‘fs‘);

let page = 0;
const total = 10; //总共几页
const waitTime = 30000; //间隔时间, 毫秒
const savePath = ‘./image‘;

begin();

function begin() {
    if (!fs.existsSync(savePath)) {
        fs.mkdirSync(savePath);
    }

    const url = ‘http://www.图片网址.com‘;
    getImageByUrl(url);
}

//爬取指定页面的图片
function getImageByUrl (_url) {
    page++;
    console.log(`开始第${page}页`);
    request(_url, function(err, resp, body) {
        if (err) {
            console.log(err);
        } else {
            const $ = cheerio.load(body);
            $(‘.commentlist > li .text img‘).each(function() {
                const src = $(this).attr(‘src‘);
                const baseName = path.win32.basename(src);
                request(`http:${src}`).pipe(fs.createWriteStream(`${savePath}/${baseName}`));
            });
            const prevUrl = $(‘.previous-comment-page‘).attr(‘href‘);
            if (page < total && prevUrl.length > 0) {
                setTimeout(() => {
                    getImageByUrl(`http:${prevUrl}`);
                }, waitTime);
            }
        }
    });
}

 

nodejs 爬图片

原文:https://www.cnblogs.com/qiuxd/p/13168799.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!