生活随笔
收集整理的這篇文章主要介紹了
将微信文章保存为PDF文件收藏
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
? ? 有時候,收藏著的微信文章就因為被刪除或者和諧的原因不見了,所以我們可以用一些手段來保存成PDF來收藏。在這里我們會用puppeteer作為瀏覽器加載渲染文章,并且再用其保存成pdf。所以用以下的步驟:
創(chuàng)建瀏覽器對象打開文章頁面因為頁面的圖片是懶加載的原因,控制puppeteer瀏覽器緩慢滾動到底部來加載完整頁面調(diào)用API直接保存成PDF(當然,也可以保存成圖片)
const puppeteer = require('puppeteer');(async () => {const browser = await puppeteer.launch({ignoreHTTPSErrors: true});const page = await browser.newPage();await page.goto('https://mp.weixin.qq.com/s/csrQkUtr22dTa9b6WvDZ-g');await autoScroll(page);// 獲取 API 加載完,實際的頁面長度let height = await page.evaluate('document.body.scrollHeight')let width = await page.evaluate('document.body.scrollWidth')let params = {printBackground: true,scale: 1,height: height,width: width,path: 'index.pdf'}await page.pdf(params);//await page.screenshot({// path: 'jd.png',// fullPage: true//});await browser.close();
})();async function autoScroll(page){await page.evaluate(async () => {await new Promise((resolve, reject) => {var totalHeight = 0;var distance = 100;var timer = setInterval(() => {var scrollHeight = document.body.scrollHeight;window.scrollBy(0, distance);totalHeight += distance;if(totalHeight >= scrollHeight){clearInterval(timer);resolve();}console.log("正在滾動"+totalHeight);}, 100);});});
}
將上述代碼保存成js文件,用nodejs直接執(zhí)行就OK了。
總結(jié)
以上是生活随笔為你收集整理的将微信文章保存为PDF文件收藏的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。