最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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)頁(yè)面的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/' //定義要爬的頁(yè)面

(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)文章

最新評(píng)論

仪陇县| 格尔木市| 冕宁县| 钟山县| 远安县| 远安县| 广河县| 浦东新区| 平罗县| 平山县| 昌吉市| 修文县| 武宣县| 酉阳| 金堂县| 大埔区| 怀安县| 永修县| 米林县| 锦屏县| 中江县| 麦盖提县| 五指山市| 肃南| 屯昌县| 阿城市| 东乌珠穆沁旗| 阜南县| 临颍县| 嘉义市| 安乡县| 巴东县| 都江堰市| 辉县市| 郧西县| 泗洪县| 晋宁县| 望城县| 罗江县| 西峡县| 夹江县|