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

nodejs實(shí)現(xiàn)爬取網(wǎng)站圖片功能

 更新時(shí)間:2017年12月14日 14:16:47   投稿:laozhang  
給大家通過一個(gè)實(shí)例來教學(xué)如何用nodejs實(shí)現(xiàn)爬取網(wǎng)站圖片功能,有興趣的朋友收藏一下吧。

通過實(shí)例給大家講解nodejs實(shí)現(xiàn)爬取網(wǎng)站圖片功能,以下就是全部?jī)?nèi)容:

原理:

爬蟲是最明顯的IO密集型應(yīng)用場(chǎng)景,顯然用node,使得I/O等待開銷小數(shù)據(jù)挖掘比較方便

借助express模塊來搭建node服務(wù)

并使用request模塊獲取目標(biāo)頁面的html代碼

下載cheerio模塊對(duì)html代碼做處理(cheerio類似jQuery的語法,所以好用又方便)

環(huán)境配置:

npm install express request cheerio --save

(1)引入各個(gè)模塊

var http = require('http');
var request = require('request);
var cheerio = require('cheerio');
var fs = require('fs'); //用來操作文件
var url = 'https://movie.douban.com/cinema/nowplaying/beijing/' //定義要爬的頁面

(2)發(fā)送請(qǐng)求

http.get(function(res){
  var html = '';
  var titles = [];
  res.setEncoding('utf-8') //防止中文亂碼
  res.on('data',function(chunk){
    html += chrunk;    //監(jiān)聽data事件 每次取一塊數(shù)據(jù)
  })
  res.on('end',function(){
    var $ = cheerio.load(html);  //獲取數(shù)據(jù)完成后,解析html
    //將獲取的圖片存到images文件夾中
    $('.mod-bd img').each(function(index, item){
      //獲取圖片屬性
      var imgName = $(this).parent().next().text().trimg()
      var imgfile = imgName + '.jpeg';
      var imgSrc = $(this).attr('src')
      //采用request模塊,向服務(wù)器發(fā)起請(qǐng)求 獲取圖片資源
      request.head(imgSrc, function(error, res,body){
        if(error){
          console.log('失敗了')
        }
      });
      //通過管道的方式用fs模塊將圖片寫到本地的images文件下
      request(imgSrc).pipe.(fs.createWriteStream('./images/' + imgfile));
    })
    
  })
})

相關(guān)文章

  • node.JS的crypto加密模塊使用方法詳解(MD5,AES,Hmac,Diffie-Hellman加密)

    node.JS的crypto加密模塊使用方法詳解(MD5,AES,Hmac,Diffie-Hellman加密)

    本文將詳細(xì)介紹node.JS的加密模塊crypto實(shí)現(xiàn)MD5,AES,Hmac,Diffie-Hellman加密的詳解方法,需要的朋友可以參考下
    2020-02-02
  • 輕松創(chuàng)建nodejs服務(wù)器(5):事件處理程序

    輕松創(chuàng)建nodejs服務(wù)器(5):事件處理程序

    這篇文章主要介紹了輕松創(chuàng)建nodejs服務(wù)器(5):事件處理程序,本系列文章將一步一步創(chuàng)建一個(gè)完整的nodejs服務(wù)器,需要的朋友可以參考下
    2014-12-12
  • 手把手教你VSCode配置JavaScript基于Node.js的調(diào)試環(huán)境

    手把手教你VSCode配置JavaScript基于Node.js的調(diào)試環(huán)境

    最近在補(bǔ)數(shù)據(jù)結(jié)構(gòu),在用VScode調(diào)試js代碼文件結(jié)果怎么都不行,這篇文章主要給大家介紹了關(guān)于VSCode配置JavaScript基于Node.js的調(diào)試環(huán)境的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • node.js中的buffer.copy方法使用說明

    node.js中的buffer.copy方法使用說明

    這篇文章主要介紹了node.js中的buffer.copy方法使用說明,本文介紹了buffer.copy的方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • 關(guān)于npm主版本升級(jí)及其相關(guān)知識(shí)點(diǎn)總結(jié)

    關(guān)于npm主版本升級(jí)及其相關(guān)知識(shí)點(diǎn)總結(jié)

    npm是Node.js默認(rèn)的包管理器,以javascript?編寫的軟件包管理系統(tǒng)用于分享和使用代碼,下面這篇文章主要給大家介紹了關(guān)于npm主版本升級(jí)及其相關(guān)知識(shí)點(diǎn)總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • 基于node.js實(shí)現(xiàn)爬蟲的講解

    基于node.js實(shí)現(xiàn)爬蟲的講解

    今天小編就為大家分享一篇關(guān)于基于node.js實(shí)現(xiàn)爬蟲的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • nodeJS進(jìn)程管理器pm2的使用

    nodeJS進(jìn)程管理器pm2的使用

    這篇文章主要介紹了nodeJS進(jìn)程管理器pm2的使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • Node.js中文件系統(tǒng)fs模塊的使用及常用接口

    Node.js中文件系統(tǒng)fs模塊的使用及常用接口

    fs是filesystem的縮寫,該模塊提供本地文件的讀寫能力,基本上是POSIX文件操作命令的簡(jiǎn)單包裝。這篇文章主要介紹了Node.js中的文件系統(tǒng)fs模塊的使用,需要的朋友可以參考下
    2020-03-03
  • node讀寫Excel操作實(shí)例分析

    node讀寫Excel操作實(shí)例分析

    這篇文章主要介紹了node讀寫Excel操作,結(jié)合實(shí)例形式分析了node.js使用node-xlsx模塊模塊讀寫Excel的相關(guān)實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下
    2019-11-11
  • 基于Koa2寫個(gè)腳手架模擬接口服務(wù)的方法

    基于Koa2寫個(gè)腳手架模擬接口服務(wù)的方法

    這篇文章主要介紹了基于Koa2寫個(gè)腳手架模擬接口服務(wù)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11

最新評(píng)論