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
(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/' //定义要爬的页面
(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)); }) }) })
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!