Heim > Web-Frontend > js-Tutorial > So crawlen Sie Website-Bilder in NodeJS

So crawlen Sie Website-Bilder in NodeJS

亚连
Freigeben: 2018-06-20 16:40:05
Original
2798 Leute haben es durchsucht

Ich werde Ihnen anhand eines Beispiels beibringen, wie Sie mit NodeJS Website-Bilder crawlen. Interessierte Freunde können es speichern.

Ich erkläre Ihnen die Funktion des Crawlens von Website-Bildern mit NodeJS anhand von Beispielen. Das Folgende ist der vollständige Inhalt:

Prinzip:

Crawler ist das offensichtlichste IO. Für intensive Anwendungsszenarien ist es offensichtlich, Knoten zu verwenden, was das Data Mining mit geringem E/A-Warteaufwand bequemer macht

Verwenden Sie das Express-Modul, um den Knotendienst zu erstellen

und verwenden Sie das Anforderungsmodul, um den HTML-Code der Zielseite abzurufen

Laden Sie das Cheerio-Modul herunter, um HTML-Code zu verarbeiten (Cheerio hat eine ähnliche Syntax wie jQuery, ist also einfach zu verwenden und bequem)

Umgebungskonfiguration:

npm install express request cheerio --save
Nach dem Login kopieren

(1)Verschiedene Module vorstellen

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/' //定义要爬的页面
Nach dem Login kopieren

(2) Eine Anfrage senden

http.get(function(res){
  var html = '';
  var titles = [];
  res.setEncoding('utf-8') //防止中文乱码
  res.on('data',function(chunk){
    html += chrunk;    //监听data事件 每次取一块数据
  })
  res.on('end',function(){
    var $ = cheerio.load(html);  //获取数据完成后,解析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模块,向服务器发起请求 获取图片资源
      request.head(imgSrc, function(error, res,body){
        if(error){
          console.log('失败了')
        }
      });
      //通过管道的方式用fs模块将图片写到本地的images文件下
      request(imgSrc).pipe.(fs.createWriteStream('./images/' + imgfile));
    })
    
  })
})
Nach dem Login kopieren

Das Obige habe ich für alle zusammengestellt. Ich hoffe, dass es in Zukunft für alle hilfreich sein wird.

Verwandte Artikel:

So implementieren Sie eine Neuzuweisung mit js

So speichern Sie auf Leinwand generierte Bilder in js

So implementieren Sie die bidirektionale Bindung in js

Eine detaillierte Einführung in die praktischeren Funktionen von Webpack

So implementieren Sie ein Menü mit jQuery. Funktion zum Entfernen hinzufügen

So konfigurieren Sie ueditor mit nodejs+mongodb+vue

Das obige ist der detaillierte Inhalt vonSo crawlen Sie Website-Bilder in NodeJS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage