Maison > interface Web > js tutoriel > Comment le nœud explore les images des pages Web (code ci-joint)

Comment le nœud explore les images des pages Web (code ci-joint)

不言
Libérer: 2018-08-17 15:45:20
original
2759 Les gens l'ont consulté

Le contenu de cet article explique comment le nœud explore les images des pages Web (avec du code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Répertoire

  • Installer le nœud et télécharger les dépendances

  • Build service

  • Demander la page que nous voulons explorer et renvoyer json

Installer le nœud

Nous commençons à installer le nœud, vous pouvez aller sur le site officiel du nœud pour télécharger https ://nodejs.org/zh-cn/, exécutez node après le téléchargement

node -v
Copier après la connexion

Après une installation réussie, le numéro de version que vous avez installé apparaîtra.

Ensuite, nous utilisons node, imprimons hello world, créons un nouveau fichier nommé index.js et entrons-le

console.log('hello world')
Copier après la connexion

Exécutons ce fichier

node index.js
Copier après la connexion

et il sera dans Input hello world sur le panneau de configuration

Construire le serveur

Créez un nouveau dossier nommé node.

Vous devez d'abord télécharger la dépendance express

npm install express
Copier après la connexion

Créez ensuite un nouveau fichier nommé demo.js avec la structure de répertoires comme indiqué ci-dessous :

Introduisez l'express téléchargé dans demo.js

const express = require('express');
const app = express();
app.get('/index', function(req, res) {
res.end('111')
})
var server = app.listen(8081, function() {
    var host = server.address().address
    var port = server.address().port
    console.log("应用实例,访问地址为 http://%s:%s", host, port)

})
Copier après la connexion

exécutez node demo.js et configurez un service simple, comme indiqué dans l'image :

Demande la page que nous voulons explorer

Demander la page que nous voulons explorer

npm install superagent
npm install superagent-charset
npm install cheerio
Copier après la connexion

le superagent est utilisé pour lancer des requêtes. Il s'agit d'une API ajax légère et progressive avec une bonne lisibilité et une faible courbe d'apprentissage. , s'appuie en interne sur l'API de requête native de nodejs, adaptée à l'environnement nodejs. Vous pouvez également utiliser http pour lancer une requête

superagent-charset pour éviter que les données analysées ne soient tronquées et modifier le format des caractères <. 🎜>

Bravo à une implémentation de base jQuery spécialement personnalisée, rapide, flexible et implémentée pour le serveur. Après avoir installé les dépendances, vous pouvez les importer

var superagent = require(&#39;superagent&#39;);
var charset = require(&#39;superagent-charset&#39;);
charset(superagent);
const cheerio = require(&#39;cheerio&#39;);
Copier après la connexion
Après l'importation, demandez notre adresse, https://www.qqtn.com/tx/weixintx_1.html, comme indiqué dans l'image :

Déclarez la variable d'adresse :

const baseUrl = &#39;https://www.qqtn.com/&#39;
Copier après la connexion
Une fois ces paramètres terminés, la demande est envoyée. Ensuite, veuillez consulter le code complet demo.js

.

var superagent = require(&#39;superagent&#39;);
var charset = require(&#39;superagent-charset&#39;);
charset(superagent);
var express = require(&#39;express&#39;);
var baseUrl = &#39;https://www.qqtn.com/&#39;; //输入任何网址都可以
const cheerio = require(&#39;cheerio&#39;);
var app = express();
app.get(&#39;/index&#39;, function(req, res) {
    //设置请求头
    res.header("Access-Control-Allow-Origin", "*");
    res.header(&#39;Access-Control-Allow-Methods&#39;, &#39;PUT, GET, POST, DELETE, OPTIONS&#39;);
    res.header("Access-Control-Allow-Headers", "X-Requested-With");
    res.header(&#39;Access-Control-Allow-Headers&#39;, &#39;Content-Type&#39;);
    //类型
    var type = req.query.type;
    //页码
    var page = req.query.page;
    type = type || &#39;weixin&#39;;
    page = page || &#39;1&#39;;
    var route = `tx/${type}tx_${page}.html`
    //网页页面信息是gb2312,所以chaeset应该为.charset(&#39;gb2312&#39;),一般网页则为utf-8,可以直接使用.charset(&#39;utf-8&#39;)
    superagent.get(baseUrl + route)
        .charset(&#39;gb2312&#39;)
        .end(function(err, sres) {
            var items = [];
            if (err) {
                console.log(&#39;ERR: &#39; + err);
                res.json({ code: 400, msg: err, sets: items });
                return;
            }
            var $ = cheerio.load(sres.text);
            $(&#39;div.g-main-bg ul.g-gxlist-imgbox li a&#39;).each(function(idx, element) {
                var $element = $(element);
                var $subElement = $element.find(&#39;img&#39;);
                var thumbImgSrc = $subElement.attr(&#39;src&#39;);
                items.push({
                    title: $(element).attr(&#39;title&#39;),
                    href: $element.attr(&#39;href&#39;),
                    thumbSrc: thumbImgSrc
                });
            });
            res.json({ code: 200, msg: "", data: items });
        });
});
var server = app.listen(8081, function() {

    var host = server.address().address
    var port = server.address().port

    console.log("应用实例,访问地址为 http://%s:%s", host, port)

})
Copier après la connexion
Exécuter la démo .js renverra les données que nous avons obtenues, comme le montre la figure :

Un simple robot d'exploration de nœuds est terminé.

Recommandations associées :

page Web gbk du robot d'exploration de nœuds Solution tronquée chinoise_html/css_WEB-ITnose

node Exemple de partage de code de robot d'exploration http

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!

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