Maison  >  Article  >  interface Web  >  Node.js implémente l'applet WeChat pour capturer du contenu Web

Node.js implémente l'applet WeChat pour capturer du contenu Web

不言
不言avant
2018-10-20 17:17:242829parcourir

Le contenu de cet article concerne la mise en œuvre de l'applet WeChat par node.js pour capturer du contenu Web. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Récemment, j'étudie la fonction de développement cloud de l'applet WeChat. Le plus grand avantage du développement cloud est qu'il n'est pas nécessaire de créer un serveur sur le front-end. Vous pouvez utiliser les capacités du cloud pour écrire une applet WeChat à partir de zéro qui peut être lancée en ligne, évitant ainsi le coût d'achat d'un serveur pour les particuliers. Je veux essayer de pratiquer l'applet WeChat du front-end au backend. Le développement est toujours un bon choix. Il est possible de lancer un mini programme WeChat en une journée.

Avantages du développement cloud

Le développement cloud offre aux développeurs un support cloud complet, affaiblit les concepts de back-end et d'exploitation et de maintenance, n'a pas besoin de construire un serveur, et utilise l'API fournie par la plateforme. Le développement commercial de base peut permettre un lancement et une itération rapides. Dans le même temps, cette capacité est compatible avec les services cloud déjà utilisés par les développeurs et ne s'exclut pas mutuellement.

Le développement Cloud offre actuellement trois fonctionnalités de base :

  1. Fonction Cloud : le code s'exécute dans le cloud, le protocole privé WeChat est naturellement authentifié et les développeurs n'ont qu'à écrire le leur Code de logique métier

  2. Base de données : une base de données JSON

  3. stockage qui peut être exploité sur le front-end du mini programme ou lu et écrit dedans Fonctions cloud : Téléchargez/téléchargez des fichiers cloud directement sur le front-end du mini programme et gérez-les visuellement dans la console de développement cloud

D'accord, j'ai introduit tellement de connaissances sur le développement cloud , les étudiants perspicaces peuvent l'étudier Recherche. Adresse du document officiel : https://developers.weixin.qq....

Capture de contenu Web

L'applet sert à répondre aux questions, donc la source du les questions sont un problème. Rechercher sur Internet, coller une question une par une est une façon de procéder, mais avec un travail aussi répétitif, j'abandonnerais probablement après environ 10 messages. J'ai donc pensé au web scraping. Il m'est arrivé de récupérer le nœud que j'avais appris auparavant.

Outils indispensables :

  1. Cheerio. Un package similaire à JQuery côté serveur. Il est principalement utilisé pour analyser et filtrer le contenu exploré.

  2. module fs du nœud. Il s'agit du module fourni avec le nœud et utilisé pour lire et écrire des fichiers. Ceci est utilisé pour écrire les données analysées dans un fichier json.

  3. Axios (facultatif). Utilisé pour explorer les pages HTML du site Web. Étant donné que les données souhaitées sont affichées après avoir cliqué sur un bouton de la page Web, elles ne peuvent pas être capturées en accédant directement à cette URL. Je n'ai pas d'autre choix que de copier le contenu souhaité, de l'enregistrer sous forme de chaîne et d'analyser la chaîne.

Ensuite, vous pouvez utiliser npm init pour initialiser un projet de nœud et appuyer sur Entrée pour générer un fichier package.json.
Ensuite, npm install --save axios cheerio installe les packages cheerio et axios.

La clé est d'utiliser cheerio pour implémenter une fonction similaire à jquery. Cheerio.load(questions) le contenu capturé, puis vous pouvez suivre l'opération jquery pour obtenir le DOM et assembler les données souhaitées.

Enfin, utilisez fs.writeFile pour enregistrer les données dans le fichier json, et vous avez terminé.

Le code spécifique est le suivant

let axios = require("axios");

let cheerio = require("cheerio");

let fs = require("fs");

// 我的html结构大致如下,有很多条数据
const questions = `
  •       
            
    举头望明月,__________。
            
              回首白云低         
            
              低头思故乡         
            
              当春乃发生         
            
              红掌拨清波         
          
        
  •     
  •       
            
    __________,却话巴山夜雨时。
            
              何当共剪西窗烛         
            
              在天愿做比翼鸟         
            
              世味年来薄似纱         
            
              两岸青山相对出         
          
        
  •     ..........     `;      const $ = cheerio.load(quesitons); var arr = []; for (var i = 0; i  {    if (err) throw err;    console.log("json文件已成功保存!"); });

    Le format de fichier après enregistrement sur json est le suivant, afin qu'il puisse être téléchargé sur le serveur cloud via le fichier json.

    Node.js implémente lapplet WeChat pour capturer du contenu Web

    Notes

    Pour la base de données développée par WeChat applet cloud, le format de données pour télécharger les fichiers json est requis Notez qu'une erreur de format m'a toujours été demandée auparavant, mais plus tard, j'ai découvert que les données JSON ne sont pas un tableau, mais similaires aux lignes JSON, c'est-à-dire que chaque objet d'enregistrement est séparé par n au lieu de virgules. Par conséquent, vous devez effectuer un petit processus sur le fichier json écrit par node avant qu'il puisse être téléchargé avec succès.

    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:
    Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer