国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

在linux (centos)上使用puppeteer實現網頁截圖功能

2024-08-28 00:03:58
字體:
來源:轉載
供稿:網友

你在linux上安裝puppeteer時可能遇到如下問題,本文將引導你如何爬坑!

> puppeteer@2.0.0 install /www/node_modules/puppeteer
> node install.js

ERROR: Failed to download Chromium r706915! Set "PUPPETEER_SKIP_CHROMIUM_DOWNLOAD" env variable to skip download.
{ Error: EACCES: permission denied, mkdir '/www/node_modules/puppeteer/.local-chromium'
  -- ASYNC --
    at BrowserFetcher.<anonymous> (/www/node_modules/puppeteer/lib/helper.js:111:15)
    at Object.<anonymous> (/www/node_modules/puppeteer/install.js:62:16)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)
    at Function.Module.runMain (module.js:676:10)
    at startup (bootstrap_node.js:187:16)
    at bootstrap_node.js:608:3
  errno: -13,
  code: 'EACCES',
  syscall: 'mkdir',
  path: '/www/node_modules/puppeteer/.local-chromium' }
npm WARN enoent ENOENT: no such file or directory, open '/www/package.json'
npm WARN www No description
npm WARN www No repository field.
npm WARN www No README data
npm WARN www No license field

我成安裝puppeteer并實際截圖的過程如下:

1.安裝nodejs和npm

# 下載解壓wget -c https://nodejs.org/dist/v8.9.1/node-v8.9.1-linux-x64.tar.xztar -xvf node-v8.9.1-linux-x64.tar.xz# 移動重命名(可選)mv node-v8.9.1-linux-x64 /www/nodejs# 創建軟連接(快捷方式),如果上一步重命名不同則這一步的下劃線部分根據實際情況做調整ln -s /www/nodejs/bin/node /usr/local/bin/nodeln -s /www/nodejs/bin/npm /usr/local/bin/npm

2.安裝chromium

yum install chromium

3.安裝puppeteer-core(直接安裝pupperter會因為chromium無法下載而報錯)

npm i puppeteer-core

4.新建一個a.js

const puppeteer = require('puppeteer-core');(async () => { const browser = await puppeteer.launch({ executablePath: '/usr/bin/chromium-browser', args:["--no-sandbox"] }); const page = await browser.newPage(); await page.goto('https://www.baidu.com'); await page.screenshot({path: 'example.png'}); await browser.close();})();

這一步的代碼跟網上的可能不同,一個是require里面的是puppeteer-core而不是puppeteer,因為我們安裝的就是puppeteer-core而不是puppeteer

另一個是launch里面有兩個參數,第一個參數也是因為我們沒有直接安裝puppeteer所以需要指定路徑,第二個參數則是因為chromium的某些限制,root賬號執行需要加上這個參數

5.執行a.js

node a.js

執行完之后就可以看到一個example.png

注意:如果頁面中有中文可能無法正常顯示,因為缺乏中文字體。解決方法是直接把你自己電腦中的c:/windows/fonts中的中文字體上傳到服務器的/usr/share/fonts/chinese下即可(默認沒有chinese目錄,自己新建即可)。如果不行請參考這個連接https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=centos%20%E4%B8%AD%E6%96%87%E5%AD%97%E4%BD%93&oq=puppeteer&rsv_pq=a90b2ea50000943a&rsv_t=9035FHeJQWcr7x6RGsK%2BmDYU11AFyz8svepkcwhlQ51aDVXUfHrKZA7vFjQ&rqlang=cn&rsv_enter=0&rsv_dl=tb&inputT=5789&rsv_sug3=132&rsv_sug1=63&rsv_sug7=100&rsv_sug2=0&rsv_sug4=5908

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁波市| 广元市| 湟中县| 亚东县| 浙江省| 赣州市| 平潭县| 景谷| 商南县| 福鼎市| 呼和浩特市| 田阳县| 富源县| 蒲城县| 隆昌县| 南溪县| 集安市| 岳西县| 石楼县| 乐山市| 东丽区| 贡嘎县| 法库县| 伊川县| 德令哈市| 阿尔山市| 涿鹿县| 曲周县| 兴仁县| 陆丰市| 砀山县| 溧阳市| 中牟县| 全州县| 鹤山市| 西乌| 黄石市| 香港| 南川市| 万年县| 盐池县|