Maison  >  Article  >  interface Web  >  Comment explorer les images de sites Web dans nodejs

Comment explorer les images de sites Web dans nodejs

亚连
亚连original
2018-06-20 16:40:052738parcourir

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn