91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

puppeteer 嘗試

發布時間:2020-04-26 22:33:16 來源:網絡 閱讀:966 作者:RQSLT 欄目:web開發

【簡介】

  • Puppeteer 是一個 Node 庫,它提供了一個高級 API 來通過 DevTools 協議控制 Chromium 或 Chrome。Puppeteer 默認以 headless 模式運行,但是可以通過修改配置文件運行“有頭”模式。

  • GitHub 網址:https://github.com/GoogleChrome/puppeteer

  • 官網文檔:https://pptr.dev/

  • 官方文檔中文版:https://zhaoqize.github.io/puppeteer-api-zh_CN/#?product=Puppeteer


【準備工作】

  • 下載并安裝,選 LTS 版本即可:https://nodejs.org

  • 安裝 puppeteer

npm?install?puppeteer?--registry=https://registry.npm.taobao.org


【51cto.js】

/*!
?*?walker@2019-07-13:?測試?puppeteer,得到網頁截圖和html
?*/

`use?strict`;

const?puppeteer?=?require('puppeteer');
const?fs?=?require("fs");

//?得到一個兩數之間的隨機整數,包括兩個數在內
function?GetRandInt(min,?max)?{
????min?=?Math.ceil(min);
????max?=?Math.floor(max);
????return?Math.floor(Math.random()?*?(max?-?min?+?1))?+?min;?//含最大值,含最小值?
}

//?下載一篇文章
async?function?DownOneArticle(page,?rawid)?{
????console.log('DownOneArticle?%s?...',?rawid);
????url?=?'https://blog.51cto.com/walkerqt/'?+?rawid;
????console.log('goto?%s?...',?url);
????await?page.goto(
????????url,
????????{
????????????//?timeout:?90*1000,
????????????referer:?'https://blog.51cto.com/walkerqt'
????????});
????let?selector?=?'div.artical-copyright';
????console.log('waitForSelector:?%s?...',?selector);
????await?page.waitForSelector(
????????selector,????//?指定等待?css
????????{
????????????timeout:?10?*?1000
????????}
????);
????await?page.waitFor(GetRandInt(2,?5)?*?1000);?????//?隨機睡眠幾秒

????await?page.screenshot({?path:?rawid?+?'.png'?});????//?保存截圖
????let?html?=?await?page.content();
????fs.writeFileSync(rawid?+?".html",?html);????????????//?保存網頁
}

(async?()?=>?{
????const?browser?=?await?puppeteer.launch({????????//?啟動瀏覽器
????????headless:?false,????//?是否啟用無頭模式
????????args:?[
????????????'--no-sandbox',
????????????//?'--proxy-server=http://192.168.30.3:8080'???//?代理
????????]
????});
????const?page?=?await?browser.newPage();

????let?url?=?'https://blog.51cto.com/walkerqt';????//?首頁
????console.log('goto?%s?...',?url);
????await?page.goto(url);
????let?xpath?=?'//*[@id="Tab"]/div[@class="artical-tit"]';
????console.log('waitForXPath:?%s?...',?xpath);
????await?page.waitForXPath(????????//?指定等待?xpath
????????xpath,
????????{
????????????timeout:?10?*?1000
????????}
????);
????await?page.waitFor(GetRandInt(2,?5)?*?1000);?????//?隨機睡眠幾秒

????let?rawidArray?=?['2419918',?'2415142',?'2413401',?'2396430']
????for?(let?idx?in?rawidArray)?{
????????try?{
????????????await?DownOneArticle(page,?rawidArray[idx]);
????????}?catch?(error)?{
????????????console.log('*?stack:\n?%s',?error.stack);
????????}
????}

????console.log("Good?boy!?Game?over!");
????await?browser.close();??????//?關閉瀏覽器
})();


【運行】

  • 運行

node?51cto.js


【相關閱讀】

  • mozilla 講 JavaScript 隨機數生成:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math/random

  • Node.js Tips


*** walker ***


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南雄市| 麻城市| 灌云县| 金门县| 商洛市| 南部县| 商都县| 阿克陶县| 峨山| 上杭县| 来宾市| 湖口县| 沙田区| 临海市| 临沧市| 穆棱市| 东至县| 祁东县| 河池市| 新化县| 上思县| 内乡县| 石台县| 阿鲁科尔沁旗| 扶风县| 屏东市| 西和县| 三江| 宾川县| 江永县| 柳河县| 浪卡子县| 孟津县| 密山市| 岳阳市| 昌图县| 肃北| 如皋市| 富平县| 任丘市| 罗田县|