首页登陆欢迎您!
首页登陆 > 运维知识 > Nodejs实现批量下载妹纸图_node.js_脚本之家

Nodejs实现批量下载妹纸图_node.js_脚本之家

时间:2019-12-06

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

Nodejs实现批量下载妹纸图

   这篇文章主要介绍了使用Nodejs实现批量下载妹纸图的方法和详细代码,十分的实用,喜欢妹纸的小伙伴们可以参考下。

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

  Nodejs (javascrpt)自然不能落后~

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

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

  使用方法:

  1)新建一个download目录

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

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

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

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

  6)等着收妹子图吧~

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

  ?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

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();

}

};

  妹子图下载启动方式

  ?

1

2

3

4

5

6

7

8

9

var mzitu = new Mzitu({

baseUrl: 'http://www.mzitu.com/share/comment-page-',

dir: '',

reg: /<imgs*src="(.*?)"s*alt=".*"s*/>/g,

total: 141,

from: 1

});

 

mzitu.start();

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

这篇文章主要介绍了使用Nodejs实现批量下载妹纸图的方法和详细代码,十分的实用,喜欢妹纸的小伙伴们可以参考...

Nodejs 自然不能落后~

虽然从没写过像样的Nodejs程序,但作为至少翻过书的前端同学来说,Nodejs用得还蛮顺手的哈~花了一点事件学习了下Nodejs的网页获取和文件下载方法,没事乱捣腾就写了这个半成品的下载器

使用方法:

1)新建一个download目录2)新建download.js,并复制到download目录下3)复制两段代码到download.js中4)打开命令行工具,并将当前目录转到与download目录下5)在命令行中输入:node download.js6)等着收妹子图吧~

上一篇:【官网平台】UITableview的高级编辑 下一篇:没有了