Heim > Web-Frontend > js-Tutorial > Hauptteil

nodejs implementiert die Funktion zum Crawlen der Website images_node.js

韦小宝
Freigeben: 2017-12-16 09:15:53
Original
2087 Leute haben es durchsucht

Ich werde Ihnen ein Beispiel geben, um Ihnen beizubringen, wie Sie mit nodejs die Website-Crawling-Funktion Bilder implementieren. Freunde, die interessiert sind, können es speichern.

Ich werde Ihnen anhand von Beispielen erklären, wie Sie NodeJS zum Crawlen von Website-Bildern verwenden. Das Folgende ist der vollständige Inhalt:

Prinzip:

Crawler ist am effektivsten. Für offensichtlich E/A-intensive Anwendungsszenarien wird der Knoten offensichtlich verwendet, um das Data Mining mit geringem E/A-Warteaufwand bequemer zu gestalten.

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

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

Laden Sie das Cheerio-Modul herunter, um den 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) Einführung in jedes Modul


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) Senden Sie eine Anfrage

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 ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird meinen Freunden hilfreich sein! !

Verwandte Empfehlungen:

NodeJS Crawler Beispiel-Enzyklopädie peinlicher Dinge_node.js

NodeJs-Lösung zur Datenbank-Ausnahmebehandlung

So verwenden Sie NodeJs zur Implementierung der Chat-Funktion


Das obige ist der detaillierte Inhalt vonnodejs implementiert die Funktion zum Crawlen der Website images_node.js. 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