Je vais vous apprendre à utiliser nodejs pour explorer les images de sites Web à travers un exemple. Les amis intéressés peuvent les enregistrer.
Je vais vous expliquer comment nodejs implémente la fonction d'exploration des images de sites Web à travers des exemples. Voici le contenu complet :
Principe :
. Le robot d'exploration est l'IO la plus évidente. Pour les scénarios d'application intensifs, il est évident d'utiliser un nœud, ce qui rend l'exploration de données avec une petite surcharge d'attente d'E/S plus pratique
Utilisez le module express pour créer le service de nœud
et utilisez le module de requête pour obtenir le code html de la page cible
Téléchargez le module cheerio pour traiter le code html (cheerio a une syntaxe similaire à jQuery, il est donc facile à utiliser et pratique)
Configuration de l'environnement :
npm install express request cheerio --save
(1)Introduire divers modules
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) Envoyer une demande
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)); }) }) })
Ce qui précède est ce que j'ai compilé pour tout le monde, j'espère que cela sera utile à tout le monde à l'avenir.
Articles connexes :
Comment implémenter la réaffectation à l'aide de js
Comment enregistrer des images générées par canevas dans js
Comment implémenter la liaison bidirectionnelle en js
Une introduction détaillée aux fonctions plus pratiques de webpack
Comment implémenter un menu à l'aide de jQuery Ajouter une fonction de suppression
Comment configurer l'éditeur à l'aide de nodejs+mongodb+vue
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!