Heim  >  Artikel  >  Web-Frontend  >  Node.js implementiert das WeChat-Applet zur Erfassung von Webinhalten

Node.js implementiert das WeChat-Applet zur Erfassung von Webinhalten

不言
不言nach vorne
2018-10-20 17:17:242829Durchsuche

Der Inhalt dieses Artikels befasst sich mit der Implementierung des WeChat-Applets zum Erfassen von Webinhalten. Ich hoffe, dass er für Freunde hilfreich ist.

Kürzlich studiere ich die Cloud-Entwicklungsfunktion des WeChat-Applets. Der größte Vorteil der Cloud-Entwicklung besteht darin, dass kein Server im Front-End erstellt werden muss. Sie können Cloud-Funktionen verwenden, um ein WeChat-Applet von Grund auf zu schreiben, das online gestartet werden kann, wodurch die Kosten für den Kauf eines Servers vermieden werden Wenn Sie versuchen möchten, das WeChat-Applet von der Front-End- bis zur Backend-Entwicklung zu üben, ist dies immer noch eine gute Wahl. Es ist möglich, ein WeChat-Miniprogramm an einem Tag zu starten.

Vorteile der Cloud-Entwicklung

Cloud-Entwicklung bietet Entwicklern vollständige Cloud-Unterstützung, schwächt das Back-End sowie Betriebs- und Wartungskonzepte und erfordert keinen Serveraufbau. und nutzt die von der Plattform bereitgestellte API. Die Kerngeschäftsentwicklung kann einen schnellen Start und eine schnelle Iteration ermöglichen. Gleichzeitig ist diese Fähigkeit mit den bereits von Entwicklern verwendeten Cloud-Diensten kompatibel und schließt sich nicht gegenseitig aus.

Die Cloud-Entwicklung bietet derzeit drei grundlegende Funktionen:

  1. Cloud-Funktion: Code läuft in der Cloud, das private WeChat-Protokoll wird auf natürliche Weise authentifiziert und Entwickler müssen nur ihr eigenes Protokoll schreiben Geschäftslogikcode

  2. Datenbank: eine JSON-Datenbank

  3. Speicher, der am Frontend des Miniprogramms bedient oder gelesen und beschrieben werden kann Cloud-Funktionen: Cloud-Dateien direkt am Frontend des Miniprogramms hochladen/herunterladen und in der Cloud-Entwicklungskonsole visuell verwalten

Okay, ich habe so viel Wissen über Cloud-Entwicklung eingeführt , Studenten mit Wahrnehmungskenntnissen können es studieren Forschung. Offizielle Dokumentadresse: https://developers.weixin.qq....

Erfassung von Webinhalten

Bei dem Applet geht es um die Beantwortung von Fragen, also um die Quelle des Fragen sind ein Problem. Im Internet zu suchen und eine Frage nach der anderen einzufügen, ist eine Möglichkeit, aber bei solch sich wiederholender Arbeit würde ich wahrscheinlich nach etwa 10 Beiträgen aufgeben. Also dachte ich an Web Scraping. Ich habe zufällig den Knoten gefunden, den ich zuvor gelernt habe.

Must-have-Tools:

  1. Cheerio. Ein Paket ähnlich der serverseitigen JQuery. Es wird hauptsächlich zum Analysieren und Filtern der gecrawlten Inhalte verwendet.

  2. fs-Modul des Knotens. Dies ist das Modul, das mit Node geliefert wird und zum Lesen und Schreiben von Dateien verwendet wird. Dies wird verwendet, um die geparsten Daten in eine JSON-Datei zu schreiben.

  3. Axios (optional). Wird zum Crawlen der HTML-Seiten der Website verwendet. Da die von mir gewünschten Daten nach dem Klicken auf eine Schaltfläche auf der Webseite gerendert werden, können sie nicht durch direkten Zugriff auf diese URL erfasst werden. Mir bleibt nichts anderes übrig, als den gewünschten Inhalt zu kopieren, als String zu speichern und den String zu analysieren.

Als nächstes können Sie npm init verwenden, um ein Knotenprojekt zu initialisieren, und die Eingabetaste drücken, um eine package.json-Datei zu generieren.
Dann installiert npm install --save axios cheerio die Pakete cheerio und axios.

Der Schlüssel besteht darin, Cheerio zu verwenden, um eine Funktion ähnlich wie JQuery zu implementieren. Einfach cheerio.load(quesitons) den erfassten Inhalt, und dann können Sie der JQuery-Operation folgen, um das DOM abzurufen und die gewünschten Daten zusammenzustellen.

Abschließend verwenden Sie fs.writeFile, um die Daten in der JSON-Datei zu speichern, und schon sind Sie fertig.

Der spezifische Code lautet wie folgt

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文件已成功保存!"); });

    Das Dateiformat nach dem Speichern in JSON ist wie folgt, sodass es über die JSON-Datei auf den Cloud-Server hochgeladen werden kann.

    Node.js implementiert das WeChat-Applet zur Erfassung von Webinhalten

    Notizen

    Für die von der WeChat-Applet-Cloud entwickelte Datenbank das Datenformat zum Hochladen von JSON-Dateien ist erforderlich. Beachten Sie, dass mir zuvor immer ein Formatfehler angezeigt wurde. Später habe ich jedoch festgestellt, dass die JSON-Daten kein Array sind, sondern JSON-Zeilen ähneln, d. h. jedes Datensatzobjekt wird durch n anstelle von Kommas getrennt. Daher ist es notwendig, einen kleinen Prozess an der vom Knoten geschriebenen JSON-Datei durchzuführen, bevor sie erfolgreich hochgeladen werden kann.

    Das obige ist der detaillierte Inhalt vonNode.js implementiert das WeChat-Applet zur Erfassung von Webinhalten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen