最近在寫一個爬蟲,需要將網頁進行解析供微信小程式使用。文字和圖片解析都好說,小程式也有對應的text和image標籤可以呈現。而更複雜的,例如表格,則比較棘手,不管是服務端解析還是小程式呈現都很費勁,也很難涵蓋所有情況。於是我想,將表格對應的HTML程式碼轉成圖片,不失為一種變通的方法。
這裡我們採用node-webshot模組,它對PhantomJS進行了輕量級封裝,可以輕鬆地將網頁以截圖形式保存下來。
先安裝Node.js和PhantomJS,然後新建一個js文件,載入node-webshot模組:
const webshot = require('webshot');
定義選項:
const options = { // 浏览器窗口 screenSize: { width: 755, height: 25 }, // 要截图的页面文档区域 shotSize: { height: 'all' }, // 网页类型 siteType: 'html' };
這裡,瀏覽器視窗的寬度要根據網頁狀況合理設置,高度可以設定為很小的數值,然後頁面文件區域的高度一定要設定為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}`);});
以上是微信小程式之複雜富文本解析詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!