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

首頁 > 語言 > JavaScript > 正文

爬蟲利器Puppeteer實戰

2024-05-06 15:43:24
字體:
來源:轉載
供稿:網友

Puppeteer 介紹

Puppeteer 翻譯是操縱木偶的人,利用這個工具,我們能做一個操縱頁面的人。 Puppeteer 是一個 Nodejs 的庫,支持調用 Chrome的API來操縱Web ,相比較 Selenium 或是 PhantomJs ,它最大的特點就是它的操作 Dom 可以完全在內存中進行模擬既在 V8 引擎中處理而不打開瀏覽器,而且關鍵是這個是Chrome團隊在維護,會擁有更好的兼容性和前景。

Puppeteer 用處

利用網頁生成PDF、圖片 爬取SPA應用,并生成預渲染內容(即“SSR” 服務端渲染) 可以從網站抓取內容 自動化表單提交、UI測試、鍵盤輸入等 幫你創建一個最新的自動化測試環境(chrome),可以直接在此運行測試用例6.捕獲站點的時間線,以便追蹤你的網站,幫助分析網站性能問題

Puppeteer 使用

安裝 Puppeteer

由于封網,直接下載 Chromium 會失敗,可以先阻止下載 Chromium 然后再手動下載它

# 安裝命令npm i puppeteer --save# 錯誤信息ERROR: Failed to download Chromium r515411! Set "PUPPETEER_SKIP_CHROMIUM_DOWNLOAD" env variable to skip download.# 設置環境變量跳過下載 Chromiumset PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 # 或者可以這樣干,只下載模塊而不buildnpm i --save puppeteer --ignore-scripts# 成功安裝模塊+ puppeteer@0.13.0added 1 package in 1.77s

手動下載 Chromium,下載完后將壓縮包解壓,會有個 Chromium.app,將其放在你喜歡的目錄下,例如 /Users/huqiyang/Documents/project/z/chromium/Chromium.app。正常安裝包后 Chromium.app 會在 .local-chromium

Tip:下載 Chromium 失敗解決辦法

更換國內Chromium源

PUPPETEER_DOWNLOAD_HOST=https://storage.googleapis.com.cnpmjs.orgnpm i puppeteer

或者用 cnpm 安裝

npm install -g cnpm --registry=https://registry.npm.taobao.orgcnpm i puppeteer

點擊查閱 Puppeteer  API

初試 Puppeteer,截個圖吧

知識點

puppeteer.launch 啟動瀏覽器實例 browser.newPage()  創建一個新頁面 page.goto 進入指定網頁 page.screenshot 截圖
const puppeteer = require('puppeteer');(async () => { const browser = await (puppeteer.launch({  // 若是手動下載的chromium需要指定chromium地址, 默認引用地址為 /項目目錄/node_modules/puppeteer/.local-chromium/  executablePath: '/Users/huqiyang/Documents/project/z/chromium/Chromium.app/Contents/MacOS/Chromium',  //設置超時時間  timeout: 15000,  //如果是訪問https頁面 此屬性會忽略https錯誤  ignoreHTTPSErrors: true,  // 打開開發者工具, 當此值為true時, headless總為false  devtools: false,  // 關閉headless模式, 不會打開瀏覽器  headless: false })); const page = await browser.newPage(); await page.goto('https://www.jianshu.com/u/40909ea33e50'); await page.screenshot({  path: 'jianshu.png',  type: 'png',  // quality: 100, 只對jpg有效  fullPage: true,  // 指定區域截圖,clip和fullPage兩者只能設置一個  // clip: {  //  x: 0,  //  y: 0,  //  width: 1000,  //  height: 40  // } }); browser.close();})();            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 钦州市| 平和县| 内丘县| 梨树县| 诸城市| 于田县| 澳门| 绍兴市| 盘锦市| 泸定县| 锡林浩特市| 张北县| 石泉县| 苍溪县| 绥德县| 阜康市| 东莞市| 铅山县| 乌拉特中旗| 左云县| 方城县| 湖州市| 安福县| 马龙县| 博客| 梨树县| 黄浦区| 莱西市| 宜黄县| 集安市| 罗平县| 阳谷县| 台江县| 滨州市| 普兰县| 潜山县| 乌拉特后旗| 嵊州市| 赤城县| 广汉市| 隆安县|