J'ai entendu dire que le téléchargement de photos de filles est très populaire récemment ?
Nodejs (javascrpt) ne peut naturellement pas être à la traîne~
Bien que je n'aie jamais écrit de programme Nodejs décent, en tant qu'étudiant front-end ayant au moins lu le livre, je suis assez à l'aise avec Nodejs~
J'ai passé un peu de temps à apprendre à obtenir des pages Web et à télécharger des fichiers dans Nodejs, et j'ai écrit ce téléchargeur semi-fini alors que je n'avais rien à faire
Utilisation :
1) Créez un nouveau répertoire de téléchargement
2) Créez un nouveau download.js (appelez-le comme vous voulez) et copiez-le dans le répertoire de téléchargement
3) Copiez les deux morceaux de code dans download.js
4) Ouvrez l'outil de ligne de commande et remplacez le répertoire actuel par le répertoire de téléchargement
5) Entrez dans la ligne de commande : node download.js
6) En attendant de recevoir des photos de filles~
Objet image de fille simple (prise en charge nouvellement ajoutée du téléchargement automatique)
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(); } };
Comment commencer à télécharger des photos de filles
var mzitu = new Mzitu({ baseUrl: 'http://www.mzitu.com/share/comment-page-', dir: '', reg: /<img\s*src="(.*?)"\s*alt=".*"\s*\/>/g, total: 141, from: 1 }); mzitu.start();
Ce qui précède représente l’intégralité du contenu de cet article, j’espère que vous l’aimerez tous.