亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

NodeJS的url截取模塊url-extract的使用實例

2019-11-20 21:40:31
字體:
來源:轉載
供稿:網友

上次介紹了怎么利用NodeJS + PhantomJS進行截圖,但由于對每次截圖操作,都啟用了一個PhantomJS進程,所以并發量上去后,效率堪憂,所以我們重寫了所有代碼,并將其獨立成為一個模塊,方便調用。
如何改進?控制線程數,以及單線程處理url數量。使用Standard Output & WebSocket 進行通訊。添加緩存機制,目前使用Javascript Object進行。對外提供簡易的接口。

設計圖

 

依賴 & 安裝

由于PhantomJS 1.9.0+才開始支持Websocket,所以我們先要確定在PATH中的PhantomJS是為1.9.0以上版本。在命令行鍵入:

$ phantomjs -v

如果能返回版本號1.9.x,則可以繼續操作。如果版本過低,或者出現錯誤,請到PhantomJS官網下載最新版本。

如果你已經安裝了Git,或者擁有Git Shell,那么在命令行鍵入:
$ npm install url-extract

進行安裝。

一個簡單的例子

比如我們要截取百度首頁,那么可以這樣:

復制代碼 代碼如下:
module.exports = (function () { "use strict" var urlExtract = require('url-extract'); urlExtract.snapshot('http://www.baidu.com', function (job) { console.log('This is a snapshot example.'); console.log(job); process.exit(); }); })();

下面是打?。?/P>

其中,image屬性就是截圖相對于工作路徑的地址。我們可以使用Job的getData接口來得到更清楚的數據,例如:

復制代碼 代碼如下:
module.exports = (function () { "use strict" var urlExtract = require('url-extract'); urlExtract.snapshot('http://www.baidu.com', function (job) { console.log('This is a snapshot example.'); console.log(job.getData()); process.exit(); }); })();

打印就變成了這樣了:

image表示截圖相對于工作路徑的地址,status表示狀態是否正常,true代表正常,false代表截圖失敗。

更多例子請參見:https://github.com/miniflycn/url-extract/tree/master/examples

 

主要API

.snapshot

url快照

.snapshot(url, [callback]).snapshot(urls, [callback]).snapshot(url, [option]).snapshot(urls, [option])
復制代碼 代碼如下:
url {String} 要截取的地址 urls {Array} 要截取的地址數組 callback {Function} 回調函數 option {Object} 可選參數 ┝ id {String} 自定義url的id,如果第一個參數是urls,此參數無效 ┝ image {String} 自定義截圖的保存地址,如果第一個參數是urls,此參數無效 ┝ groupId {String} 定義一組url的groupId,用于返回時候辨認是哪一組url ┝ ignoreCache {Boolean} 是否忽略緩存 ┗ callback {Function} 回調函數

.extract

url信息抓取,并獲取快照

.extract(url, [callback]).extract(urls, [callback]).extract(url, [option]).extract(urls, [option])

url {String} 要截取的地址

urls {Array} 要截取的地址數組

callback {Function} 回調函數

option {Object} 可選參數

┝ id {String} 自定義url的id,如果第一個參數是urls,此參數無效

┝ image {String} 自定義截圖的保存地址,如果第一個參數是urls,此參數無效

┝ groupId {String} 定義一組url的groupId,用于返回時候辨認是哪一組url

┝ ignoreCache {Boolean} 是否忽略緩存

┗ callback {Function} 回調函數

Job(類)

每一個url對應一個job對象,url的相關信息由job對象存儲。

Field

url {String} 鏈接地址content {Boolean} 是否抓取頁面的title和description信息id {String} job的idgroupId {String} 一堆job的組idcache {Boolean} 是否開啟緩存callback {Function} 回調函數image {String} 圖片地址status {Boolean} job當前是否正常

Prototype

getData() 獲取job的相關數據

 

全局配置

url-extract根目錄中的config文件可以進行全局配置,默認如下:

module.exports = { wsPort: 3001, maxJob: 100, maxQueueJob: 400, cache: 'object', maxCache: 10000, workerNum: 0};
wsPort {Number} websocket占用的端口地址maxJob {Number} 每個PhantomJS線程可并發worker數maxQueueJob {Number} 最大等待工作數量,0表示不限制,超過該數量,任何工作都直接返回失?。磗tatus = false)cache {String} 緩存實現,目前只有object實現maxCache {Number} 最大緩存鏈接數workerNum {Number} PhantomJS線程數,0表示和CPU數量相同

 

一個簡單的服務例子

https://github.com/miniflycn/url-extract-server-example

注意,需要安裝connect和url-extract:

$ npm install

如果你下載了網盤的文件,那么請安裝connect:

$ npm install connect

然后鍵入:

$ node bin/server

打開:

http://localhost:3000

查看效果。

 

;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品电影网| 亚洲免费影视第一页| 91网站在线免费观看| 日韩最新免费不卡| 日韩毛片中文字幕| 久久天天躁夜夜躁狠狠躁2022| 久久久999成人| 欧美孕妇毛茸茸xxxx| 亚洲欧美精品中文字幕在线| 午夜精品福利电影| 精品中文字幕在线2019| 日韩美女av在线免费观看| 亚洲人成网站777色婷婷| 国产精品久久久久久av下载红粉| 久久av红桃一区二区小说| 久久久国产影院| 精品人伦一区二区三区蜜桃免费| 青草青草久热精品视频在线网站| 欧美极品美女视频网站在线观看免费| 欧美黑人一级爽快片淫片高清| 欧美成人免费全部观看天天性色| 69久久夜色精品国产69乱青草| 91国自产精品中文字幕亚洲| 青青青国产精品一区二区| 亚洲精选中文字幕| 久久久亚洲精品视频| 国产精品久久久久影院日本| 欧美成人激情视频免费观看| 国产精品久久久久久久久借妻| 亚洲性视频网址| 成人在线视频网| 久久99国产精品自在自在app| 亚洲天堂av在线播放| 亚洲成人精品视频在线观看| 欧美第一黄色网| 91成人精品网站| 欧美又大又粗又长| 国产精品视频在线播放| 亚洲欧洲日产国码av系列天堂| 久久久久久久网站| 国产美女扒开尿口久久久| 日韩中文第一页| 91av视频在线| 久久久噜噜噜久久中文字免| 久久亚洲国产精品成人av秋霞| 亚洲最新av网址| 国产精品一区二区三区久久久| 欧美极品美女视频网站在线观看免费| 亚洲精品一二区| 91亚洲va在线va天堂va国| 日韩精品999| 国产成人精品久久二区二区91| 亚洲图片在区色| 久久精品电影一区二区| 国产亚洲激情在线| 最近2019中文字幕大全第二页| 91在线视频一区| 欧美大片在线免费观看| 97婷婷大伊香蕉精品视频| 久久天堂av综合合色| 欧美日韩成人网| 伊人av综合网| 日本在线精品视频| 欧美性猛交xxxx免费看久久久| 成人激情视频小说免费下载| 国产日韩在线一区| 2019亚洲日韩新视频| 日韩在线欧美在线国产在线| 久久精品一本久久99精品| 国产精品嫩草影院久久久| 伊人男人综合视频网| 亚洲男人的天堂网站| 亚洲а∨天堂久久精品9966| 57pao成人国产永久免费| 91性高湖久久久久久久久_久久99| 亚洲www视频| 亚洲精品资源美女情侣酒店| 亚洲性生活视频在线观看| 欧美性在线观看| 久久久久久综合网天天| 色无极亚洲影院| 中文字幕亚洲一区在线观看| 日韩男女性生活视频| 国产97在线视频| 欧美片一区二区三区| 欧洲日本亚洲国产区| 亚洲一区二区国产| 欧美极品少妇xxxxx| 亚洲精品www久久久| 色妞一区二区三区| 欧美中文字幕在线观看| 视频在线观看一区二区| 久久精品国产99国产精品澳门| 日韩一二三在线视频播| 国产日韩在线免费| 日韩av最新在线| 亚洲欧美在线播放| 国产一区二区三区欧美| 91九色视频导航| 97精品伊人久久久大香线蕉| 自拍偷拍亚洲在线| 国产福利成人在线| 久久久免费高清电视剧观看| 色婷婷综合久久久久中文字幕1| 91在线观看欧美日韩| 亚洲欧美国产精品| 久久亚洲精品小早川怜子66| 91精品国产91| 国产成人鲁鲁免费视频a| 美日韩在线视频| 国产精品尤物福利片在线观看| 日韩动漫免费观看电视剧高清| 日韩经典中文字幕在线观看| 韩曰欧美视频免费观看| 精品夜色国产国偷在线| www.日韩不卡电影av| 日韩在线观看精品| 中文字幕亚洲综合久久| 午夜免费在线观看精品视频| 日韩欧美综合在线视频| 亚洲精品aⅴ中文字幕乱码| 蜜臀久久99精品久久久无需会员| 久久久精品999| 日韩欧美有码在线| 欧美插天视频在线播放| 亚洲香蕉伊综合在人在线视看| 精品国产999| 日韩欧美精品中文字幕| 亚洲欧美另类在线观看| 日韩专区在线观看| 欧美国产日韩在线| 亚洲淫片在线视频| 黑人巨大精品欧美一区二区免费| 国产亚洲精品久久| 欧美日韩国产成人高清视频| 欧美色图在线视频| 亚洲视频在线观看网站| 国产视频999| 欧美精品18videos性欧| 亚洲综合在线中文字幕| 欧美日韩一区二区三区在线免费观看| 亚洲第一区在线观看| 久久综合国产精品台湾中文娱乐网| 欧美日韩精品二区| 日韩中文字幕欧美| 亚洲一二三在线| 亚洲国产精品推荐| 中文字幕自拍vr一区二区三区| 亚洲va久久久噜噜噜久久天堂| 久久人人看视频| 91精品中文在线| 亚洲xxxx3d| 国产精品99久久久久久久久久久久| 精品久久国产精品| 亚洲综合中文字幕68页| 欧美影院在线播放| 亚洲福利影片在线| 日韩毛片在线观看| 国产玖玖精品视频| 国产精品第100页| 成人免费视频xnxx.com| 色噜噜亚洲精品中文字幕| 中文字幕一区二区三区电影| 中文字幕日本欧美|