手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >Nodejs实现批量下载妹纸图
Nodejs实现批量下载妹纸图
摘要:听说最近下载妹子图很火?Nodejs(javascrpt)自然不能落后~虽然从没写过像样的Nodejs程序,但作为至少翻过书的前端同学来说,...

听说最近下载妹子图很火?

Nodejs (javascrpt)自然不能落后~

虽然从没写过像样的Nodejs程序,但作为至少翻过书的前端同学来说,Nodejs用得还蛮顺手的哈~

花了一点事件学习了下Nodejs的网页获取和文件下载方法,没事乱捣腾就写了这个半成品的下载器

使用方法:

1)新建一个download目录

2)新建download.js(其实名字随便取),并复制到download目录下

3)复制两段代码到download.js中

4)打开命令行工具,并将当前目录转到与download目录下

5)在命令行中输入:node download.js

6)等着收妹子图吧~

简单的妹子图对象(新增断定下载支持)

var http = require('http'); var fs = require('fs'); function Mzitu(options) { this.id = 1; this.initialize.call(this, options); return this; } Mzitu.prototype = { constructor: Mzitu, initialize: function _initialize(options) { this.baseUrl = options.baseUrl; this.dir = options.dir || ''; this.reg = options.reg; this.total = options.total; this.page = options.from || 1; }, start: function _start() { this.getPage(); }, getPage: function _getPage() { var self = this, data = null; if (this.page <= this.total) { http.get(this.baseUrl + this.page, function (res) { res.setEncoding("utf8"); res.on('data', function (chunk) { data += chunk; }).on('end', function () { self.parseData(data); }); }); } }, parseData: function _parseData(data) { var res = [], match; while ((match = this.reg.exec(data)) != null) { res.push(match[1]); } this.download(res); }, download: function _download(resource) { var self = this, currentPage = self.page; resource.forEach(function (src, idx) { var filename = src.substring(src.lastIndexOf('/') + 1), writestream = fs.createWriteStream(self.dir + filename); http.get(src, function (res) { res.pipe(writestream); }); writestream.on('finish', function () { console.log('page: ' + currentPage + ' id: ' + self.id++ + ' download: ' + filename); }); }); self.page++; self.getPage(); } };

妹子图下载启动方式

var mzitu = new Mzitu({ baseUrl: 'http://www.mzitu.com/share/comment-page-', dir: '', reg: /<imgs*src="(.*"s*/>/g, total: 141, from: 1 }); mzitu.start();

以上所述就是本文的全部内容了,希望大家能够喜欢。

【Nodejs实现批量下载妹纸图】相关文章:

用Node.js通过sitemap.xml批量抓取美女图片

如何实现浏览器上的右键菜单

快速掌握Node.js环境的安装与运行方法

javascript实现带下拉子菜单的导航菜单效果

javascript实现控制的多级下拉菜单

jQuery实现弹出窗口中切换登录与注册表单

jQuery实现dialog设置focus焦点的方法

javasript实现密码的隐藏与显示

nodejs调试cmd命令实现复制目录

nodejs实现获取某宝商品分类

精品推荐
分类导航