WeChat ミニ プログラム Web ページのコンテンツの解析の詳細な説明
現在、WeChat ミニ プログラムで使用するために Web ページを解析する必要があるクローラーを作成しています。テキストと画像の分析はどちらも理解しやすく、ミニ プログラムにはプレゼンテーション用に対応するテキストと画像のタグも含まれています。テーブルなどのより複雑なものは、サーバー側の解析でもミニ プログラムのレンダリングでも、非常に手間がかかり、すべての状況をカバーするのは困難です。そこで、表に対応するHTMLコードを画像に変換することが回避策になるのではないかと考えました。
ここでは、PhantomJS を軽くカプセル化し、Web ページをスクリーンショットとして簡単に保存できる、node-webshot モジュールを使用します。
まず Node.js と PhantomJS をインストールし、次に新しい js ファイルを作成して、node-webshot モジュールをロードします:
const webshot = require('webshot');
オプションを定義します:
const options = { // 浏览器窗口 screenSize: { width: 755, height: 25 }, // 要截图的页面文档区域 shotSize: { height: 'all' }, // 网页类型 siteType: 'html' };
ここで、ブラウザ ウィンドウの幅は Web ページに従って適切に設定する必要があります、高さを 1 に設定できます (非常に小さい値)。その場合、ページ ドキュメント領域の高さは all に設定する必要があり、幅はデフォルトでウィンドウの幅に設定されるため、最小サイズで表全体のスクリーンショットを撮ることができます。
次に、HTML 文字列を定義します:
let html = "target rich text html code, eg: <table>...</table>";
内部の HTML コードでは改行を削除し、二重引用符を一重引用符に置き換える必要があることに注意してください。
最後に、スクリーンショット:
webshot(html, 'demo.png', options, (err) => { if (err) console.log(`Webshot error: ${err.message}`);});
このようにして、HTML コードからローカル画像への変換が実現され、Qiniu Cloud などにアップロードできます。サーバーサイドの解析でもミニプログラムのプレゼンテーションでも、まったく難しいことはありません...
以上がWeb コンテンツを分析するためのミニプログラムの開発の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。