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

Comment explorer les images de sites Web dans nodejs

亚连
Libérer: 2018-06-20 16:40:05
original
2798 Les gens l'ont consulté

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
Copier après la connexion

(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/' //定义要爬的页面
Copier après la connexion

(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));
    })
    
  })
})
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal