nodejs 爬图片

Posted 干蛋博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nodejs 爬图片相关的知识,希望对你有一定的参考价值。

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 爬图片的主要内容,如果未能解决你的问题,请参考以下文章

nodejs常用代码片段

nodejs实现定时爬取微博热搜

使用 NodeJS 和 JSDOM/jQuery 从代码片段构建 PHP 页面

javascript 用于在节点#nodejs #javascript内设置react app的代码片段

python爬取优美图库海量图片,附加代码,一键爬取

python小白学习记录 多线程爬取ts片段