欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nodejs實現(xiàn)批量下載妹紙圖

 更新時間:2015年05月28日 08:56:48   投稿:hebedich  
這篇文章主要介紹了使用Nodejs實現(xiàn)批量下載妹紙圖的方法和詳細(xì)代碼,十分的實用,喜歡妹紙的小伙伴們可以參考下。

聽說最近下載妹子圖很火?

Nodejs (javascrpt)自然不能落后~

雖然從沒寫過像樣的Nodejs程序,但作為至少翻過書的前端同學(xué)來說,Nodejs用得還蠻順手的哈~
花了一點事件學(xué)習(xí)了下Nodejs的網(wǎng)頁獲取和文件下載方法,沒事亂搗騰就寫了這個半成品的下載器

使用方法:

1)新建一個download目錄
2)新建download.js(其實名字隨便?。?,并復(fù)制到download目錄下
3)復(fù)制兩段代碼到download.js中
4)打開命令行工具,并將當(dāng)前目錄轉(zhuǎn)到與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: /<img\s*src="(.*?)"\s*alt=".*"\s*\/>/g,
  total: 141,
  from: 1
});
 
mzitu.start();

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。

相關(guān)文章

  • 淺談HTTP 緩存的那些事兒

    淺談HTTP 緩存的那些事兒

    HTTP 緩存機(jī)制作為 Web 應(yīng)用性能優(yōu)化的重要手段,是想要成為前端架構(gòu)的必備技能。這篇文章主要介紹了淺談HTTP 緩存并用node實現(xiàn)緩存,非常具有實用價值,需要的朋友可以參考下
    2018-10-10
  • node.js報錯:npm?ERR?code?EPERM的解決過程

    node.js報錯:npm?ERR?code?EPERM的解決過程

    在學(xué)習(xí)vue+typescript的時候突然發(fā)現(xiàn)了個錯誤,所以下面這篇文章主要給大家介紹了關(guān)于node.js報錯:npm?ERR?code?EPERM的詳細(xì)解決過程,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • 詳解Nodejs的timers模塊

    詳解Nodejs的timers模塊

    本篇文章主要介紹了Nodejs的timers模塊,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • npm?i報錯以及解決方案實戰(zhàn)案例

    npm?i報錯以及解決方案實戰(zhàn)案例

    npm在前端開發(fā)流程中提供了非常完善的自動化工具鏈,但是同樣由于其復(fù)雜性導(dǎo)致有很多奇奇怪怪的問題,下面這篇文章主要給大家介紹了關(guān)于npm?i報錯以及解決方案的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • Node.js搭建WEB服務(wù)器的示例代碼

    Node.js搭建WEB服務(wù)器的示例代碼

    這篇文章主要介紹了Node.js搭建WEB服務(wù)器的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • Node.js Buffer用法解讀

    Node.js Buffer用法解讀

    這篇文章主要介紹了Node.js Buffer用法解讀,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • 阿里云ecs服務(wù)器中安裝部署node.js的步驟

    阿里云ecs服務(wù)器中安裝部署node.js的步驟

    這篇文章給大家介紹了在阿里云ecs服務(wù)器中安裝部署node.js的詳細(xì)步驟,對大家安裝node.js具有一定的參考借鑒價值,有需要的朋友們下面來一起看看吧。
    2016-10-10
  • 淺談JS前端模塊化的幾種規(guī)范

    淺談JS前端模塊化的幾種規(guī)范

    這篇文章主要介紹了JS前端模塊化的幾種規(guī)范,對前端模塊化感興趣的同學(xué),可以參考下
    2021-05-05
  • 使用cluster 將自己的Node服務(wù)器擴(kuò)展為多線程服務(wù)器

    使用cluster 將自己的Node服務(wù)器擴(kuò)展為多線程服務(wù)器

    nodejs在v0.6.x之后 增加了一個模塊 cluster 用于實現(xiàn)多進(jìn)程,利用child_process模塊來創(chuàng)建和管理進(jìn)程,增加程序在多核CPU機(jī)器上的性能表現(xiàn)。本文將介紹利用cluster模塊創(chuàng)建的多線程的問題。
    2014-11-11
  • 利用Mongoose讓JSON數(shù)據(jù)直接插入或更新到MongoDB

    利用Mongoose讓JSON數(shù)據(jù)直接插入或更新到MongoDB

    這篇文章主要給大家介紹了利用Mongoose讓JSON數(shù)據(jù)直接插入或更新到MongoDB數(shù)據(jù)庫的相關(guān)資料,文中詳細(xì)介紹了配置Mongoose、創(chuàng)建目錄及文件、插入數(shù)據(jù),POST提交JSON增加一條記錄以及詢數(shù)據(jù),取出剛增加的記錄等內(nèi)容,需要的朋友可以參考下。
    2017-05-05

最新評論