ホームページ  >  記事  >  ウェブフロントエンド  >  Node.js は Web コンテンツをキャプチャする WeChat アプレットを実装します

Node.js は Web コンテンツをキャプチャする WeChat アプレットを実装します

不言
不言転載
2018-10-20 17:17:242869ブラウズ

この記事の内容は、WeChat アプレットを実装して Web コンテンツをキャプチャする方法についてです。必要な方は参考にしていただければ幸いです。

最近私はWeChatアプレットのクラウド開発機能を研究しています。クラウド開発の最大の利点は、フロントエンドでサーバーを構築する必要がないことです。クラウド機能を使用して WeChat ミニ プログラムを最初から作成できるため、サーバーを購入するコストを回避できます。 WeChat ミニ プログラムをフロントエンドからバックエンドまで練習するには、やはり開発が良い選択です。 WeChat ミニプログラムを 1 日で立ち上げることも可能です。

クラウド開発の利点

クラウド開発では、開発者に完全なクラウド サポートが提供され、バックエンドや運用保守の概念が緩和されます。サーバーを構築する必要はありません。コア ビジネス開発では、迅速な起動と反復を実現できます。同時に、この機能は開発者がすでに使用しているクラウド サービスと互換性があり、相互に排他的ではありません。

クラウド開発は現在、サポートする 3 つの基本機能を提供しています:

  1. クラウド機能: クラウド内でコードが実行され、WeChat プライベート プロトコルは自然に認証され、開発者は次のことを記述するだけで済みます。独自のビジネス ロジック コード

  2. データベース: ミニ プログラムのフロントエンドで操作でき、クラウド関数で読み書きできる JSON データベース

  3. ストレージ : ミニ プログラムのフロントエンドでクラウド ファイルを直接アップロード/ダウンロードし、クラウド開発コンソールで視覚的に管理します

さて、これまで多くの知識を紹介してきました。クラウド開発、知覚的な知識を持つ学生はそれを研究できます。公式ドキュメントのアドレス: https://developers.weixin.qq....

Web コンテンツ キャプチャ

アプレットは質問に答えるためのものであるため、質問は問題です。インターネットで検索して、質問を一つずつ貼り付けるのも一つの方法ですが、これだけの繰り返しの作業だと、10件くらい投稿したら諦めてしまうでしょう。そこでWebスクレイピングを考えてみました。以前学んだノードをたまたま手に取りました。

必須ツール:

  1. Cheerio。サーバーサイドの JQuery に似たパッケージ。これは主に、クロールされたコンテンツの分析とフィルタリングに使用されます。

  2. ノードの fs モジュール。これはノードに付属しており、ファイルの読み取りと書き込みに使用されるモジュールです。これは、解析されたデータを json ファイルに書き込むために使用されます。

  3. Axios (オプション)。 Web サイトの HTML ページをクロールするために使用されます。欲しいデータはWebページ上のボタンをクリックした後に表示されるため、このURLに直接アクセスして取得することはできません。必要な内容をコピーして文字列として保存し、その文字列を解析するしかありません。

次に、npm init を使用してノード プロジェクトを初期化し、Enter キーを押して package.json ファイルを生成します。
次に、npm install --save axios Cherio により、cheerio パッケージと axios パッケージがインストールされます。

重要なのは、cheerio を使用して jquery と同様の機能を実装することです。キャプチャしたコンテンツをcheerio.load(quesitons)するだけで、jquery操作に従ってDOMを取得し、必要なデータを組み立てることができます。

最後に fs.writeFile を使用してデータを json ファイルに保存すれば完了です。

具体的なコードは以下の通りです

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

    jsonファイル経由でクラウドサーバーにアップロードできるよう、json保存後のファイル形式は以下の通りです。

    Node.js は Web コンテンツをキャプチャする WeChat アプレットを実装します

    注意事項

    WeChat アプレット クラウドで開発されたデータベースの場合、json ファイルをアップロードするためのデータ形式は必須です。以前は常にフォーマット エラーが表示されましたが、後で、JSON データが配列ではなく、JSON 行に似ていることがわかりました。つまり、各レコード オブジェクトはカンマではなく n で区切られています。したがって、正常にアップロードする前に、node によって書き込まれた json ファイルに対して小さな処理を実行する必要があります。

    以上がNode.js は Web コンテンツをキャプチャする WeChat アプレットを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明:
    この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。