精品国产污污污免费网站入口,亚洲一区二区国产精品一区二区,欧美国产日韩成人综合网,黄色片免费在线观看尤物

免費獲取策劃方案多一份參考,總有益處

重慶網站建設

Website construction

案例778

重慶網站建設

Web抓取,只是工作與OpenFaaS與Puppeteer

來源:派臣科技|時間:2020-11-15|瀏覽:

學習如何使用Puppeteer和使用OpenFaaS構建的無服務器函數來抓取網頁。

web測試和抓取介紹

在這篇文章中,我將向您介紹Puppeteer,并向您展示如何使用它來使用OpenFaaS功能自動化和抓取網站。

有兩個主要的原因,你可能想自動化一個網絡瀏覽器:

對應用程序運行遵從性和端到端測試

從一個沒有可用API的網頁收集信息

當測試一個應用程序時,有許多選項,這些選項分為兩類:呈現的網頁,使用JavaScript和一個真正的瀏覽器運行,以及基于文本的測試,它只能解析靜態(tài)HTML??梢韵胂?,在內存中加載一個完整的web瀏覽器是一項繁重的任務。在之前的工作中,我大量使用Selenium,它有針對c#、Java、Python、Ruby和其他語言的語言綁定。雖然我們的團隊試圖在單元測試層中實現大多數測試,但是在某些情況下,自動化web測試增加了價值,這意味著QA團隊可以在開發(fā)人員開始編碼之前編寫用戶驗收測試(UATs),從而參與到開發(fā)周期中。

Selenium在業(yè)界仍然很流行,它激發(fā)了Webdriver API的W3C工作草案,瀏覽器可以實現這個工作草案來簡化測試。

另一個用例不是測試網站,而是在API不可用或沒有所需端點時從網站中提取信息。在某些情況下,您會看到這兩種使用情況的混合,例如——當特定的司法管轄區(qū)不提供API時,公司可能會使用自動的web瀏覽器通過web頁面提交稅務文檔。

用AWS Lambda踢輪胎

最近,我了解到一個朋友通過他的SaaS產品提供商標搜索,為此他選擇了一個名為Puppeteer的更現代的Selenium替代品。事實上,如果你在StackOverflow或谷歌中搜索“抓取和Lambda”,你很可能會看到“Puppeteer”和“headless chrome”一起出現。我很想用AWS Lambda試試Puppeteer,但這條路并不理想,幾乎每一步都有摩擦。

流行的aws-chrome-lambda npm模塊的大小超過40MB,因為它提供的是靜態(tài)二進制文件,這意味著它不能作為一個普通的Lambda zip文件或Lambda層上傳

zip文件需要通過與函數所在區(qū)域相同的AWS S3存儲桶上傳

這個層可以從你的函數中引用。

本地測試非常困難,并且有許多關于獲得正確的npm模塊組合的StackOverflow問題

我確信這是可以做到的,而且正在大規(guī)模地進行。對于小企業(yè)來說,如果他們不花太多時間與上述問題作斗爭,并且能夠保持在免費的層次內,這將是非常有吸引力的。

AWSλ截圖

得到一個簡單網頁的標題- 15.5秒

也就是說,OpenFaaS可以運行在任何地方,甚至在5-10美元的VPS上,因為OpenFaaS使用的是容器,這讓我開始思考。

還有別的辦法嗎?

所以我想看看使用OpenFaaS的體驗是否會更好。所以我想看看我能不能讓Puppeteer與OpenFaaS一起工作,這不是我第一次去那里。這是我時常會想起的事情。今天,有了buildkite.com提供的預編譯的無頭Chrome瀏覽器,事情似乎更簡單了。

典型的任務包括登錄到門戶并進行屏幕截圖。有趣的是,當我運行一個簡單的測試來導航到一個博客并進行截屏時,在AWS Lambda上花了155秒,但在我的筆記本上本地運行的OpenFaaS上只花了1.6秒。我還能夠在本地構建和測試這個函數,就像在云中一樣。

預排

現在,我們將介紹使用Node.js和Puppeteer設置函數的步驟,這樣您就可以修改一個示例,并嘗試在AWS Lambda上運行的現有測試。

部署OpenFaaS

我們可以利用OpenFaaS的哪些特性?

將函數的超時擴展到我們想要的范圍

異步并并行地運行調用

完成后獲得一個帶有結果的HTTP回調,比如一個JSON格式的屏幕截圖或測試結果

在堆棧中使用max_inflight環(huán)境變量限制并發(fā)性。yml文件,以防止超載容器

觸發(fā)來自cron或Kafka和NATS之類事件的調用

從Prometheus獲得速率、錯誤和持續(xù)時間(紅色)指標,并在Grafana中查看它們

您可以使用faasd項目將OpenFaaS部署到Kubernetes或在小型VM上。faasd項目不需要Kubernetes,而是使用containerd項目。

文檔:部署OpenFaaS

對于沒有耐心的人,我們的arkade工具可以讓你在不到5分鐘內啟動和運行。你只需要在你的電腦上安裝Docker。

您可以運行faas-cli describe函數來獲得一個用于curl的同步或異步URL,以及該函數是否為調用做好了準備。faas-cli還可以用于調用函數,我們將在下面實現這一點。

函數異步提交。

RequestBin例子

返回到RequestBin的結果示例

每個調用都有一個惟一的X-Call-Id頭,可用于跟蹤和將請求連接到異步響應。

取一個屏幕截圖并將其作為PNG文件返回

AWS Lambda的一個限制是它只能返回JSON響應,盡管這種方法可能有很好的理由,但OpenFaaS允許對函數進行二進制輸入和響應。

讓我們嘗試截取頁面的屏幕快照,并將其捕獲到文件中。

部署一個Grafana儀表板

我們可以使用內置的Prometheus UI從函數中觀察紅色指標,也可以部署Grafana并訪問OpenFaaS儀表板。

參見:OpenFaaS觸發(fā)器

結束

現在您已經擁有了使用Puppeteer部署自動化測試和web抓取代碼所需的工具。由于OpenFaaS可以利用Kubernetes,您可以使用自動伸縮的節(jié)點池和比通?;谠频墓δ墚a品更長的超時。OpenFaaS可以很好地與其他工具合作,比如支持異步調用的NATS、收集指標的Prometheus以及觀察吞吐量和持續(xù)時間并與團隊中的其他人共享系統(tǒng)狀態(tài)的Grafana。

預編譯版本的Chrome包括docker-puppeteer和os - Chrome -lambda不會運行在樹莓派或ARM64機器上,但有一個可能,他們可以重新構建。如果你想從Raspberry Pi或者ARM64服務器上快速抓取網頁,你可以考慮其他的選擇,比如scrapy。

最后,我在這里會有一些偏見,但是我發(fā)現讓Puppeteer使用OpenFaaS比使用AWS Lambda要簡單得多,所以我認為您應該嘗試一下。

留言

返回頂部

君
重慶網站建設重慶網站建設Web抓取,只是工作與OpenFaaS與Puppeteer
成人精品一区二区三区不卡-十八禁啪啪啪一区二区三区-后入黑丝美女在线观看-国产熟女啪啪免费视频| 91老熟女老女人国产老太-av在线亚洲av男人的天堂-国产精品久久久区三区天天噜-能看不卡视频网站在线| 最近日本中文字幕免费完整-欧美男女性生活真人视频-激情综合网激情综合网激情综合-中文字幕日韩有码国产精品| 一级女性全黄久久生活片-日韩久久精品视频在线观看-国产精品色午夜免费视频-亚洲码欧洲码一区二区三区| 日韩av观看一区二区三区四区-美丽的蜜桃3在线观看-久久人妻少妇嫩草av-欧美亚洲另类久久久精品| 国产精品大片中文字幕-国产丝袜av一区二区免费-亚洲av巨作一级精品-国产成人综合亚洲欧美天堂| 午夜福利网午夜福利网-国产粉嫩学生在线观看-亚洲精品成人高清在线观看-亚洲人成人日韩中文字幕| 少妇人妻偷人偷人精品-国产精品黄色在线播放-亚洲熟伦熟女新五十路熟妇亚洲-国产综合91精品百人斩| 中文字幕乱码一区在线观看-少妇高潮视频免费观看-日本一区二区三区不卡在线-国产精品网红在线播放| 97资源视频在线观看-青草视频在线免费播放-最新日韩中文字幕在线播放-成人国产av精品麻豆网站| 绯色av一区二区三区亚洲人妻-99热这里只有精品小说-在线播放国产日韩不卡免费视频-国产高清在线不卡一区二区视频| 中文字幕久久精品一区二区三区-99国产麻豆精品人人爱-91麻豆精品福利视频-国产精品亚洲一区中文字幕| 国产福利亚洲精品精彩在线-日韩在线精品视频免费-亚洲成人国产精品av-日本不卡一区二区三区四区视频| 国产四虎视频在线观看-日本一区二区三区暖暖视频免费-91人妻人人澡人人添人人爽-在线日本高清日本免费| 精品国产乱码一二三区在线-精品国产一区二区在线视-国内男女精品一区二区三区-亚洲中文字幕国内精品| 国产很黄免费观看久久-亚洲变态另类一区二区三区-欧美在线免费观看黄片-成人av不卡在线播放| 亚洲午夜福利在线看片-草草影院在线观看国产-中文字幕在线国产有码-精品99成人午夜在线| 亚洲欧美日韩另类影院-亚洲一区二区三区精品春色-精品人妻久久一品二品三品-人妻有码av中文字幕久久午夜| 国产在线观看av自拍-成人自拍小视频在线看-十八禁网站在线免费观看-丰满的熟妇露脸大屁股| 狠狠久久五月综合色和啪-日韩精品欧美一区二区三区软件-亚洲女同精品一区二区久久-国产传媒在线视频免费观看| 91大神麻豆精品在线-熟女av综合一区二区三区-在线播放亚洲国产一区二区三-亚洲精品日韩在线丰满| 日本午夜av免费久久观看-国产精品夜色一区二区三区不卡-亚洲高清自有码中文字-青青草国产成人在线观看| 国产亚洲欧美日韩俺去啦-91香蕉国产极品在线播放-国产夫妻生活自拍视频-永久免费的成年视频网| 女人毛茸茸的外阴视频-成人激情午夜福利视频-国产精品性色一区二区三区-国产中文字幕欧美激情| 日本一区二区三区高清视频-九九九热在线观看视频-亚洲综合自拍偷拍人妻丝袜-亚洲精品国产二区三区在线| 欧美福利在线观看视频-日本少妇一区二区三区四区-日韩人妻丝袜中文字幕-亚洲一区二区三区最新视频| 国产色悠悠综合在线观看-亚洲av综合av一区-久久久久国产精品三级网-欧美日韩精品一区二区不卡| 亚洲一区日韩精品在线观看-精品人妻少妇一区二区免费蜜桃-国产三区四区五区在线观看-真正国产熟女免费视频| 国产精品色哟哟在线观看-亚洲精品国产自在现线-国产成人精品免费播放视频不卡-国产精品高潮呻吟av久久黄| 国产一级亚洲一级一区-国产精品一亚洲av日韩av-日韩高清有码中文字幕-久久国产精品免费一区二区三区| 日本a亚洲中文字幕永远-美女极度色诱视频国产-国产熟女另类激情在线-高潮少妇高潮少妇av| 国产在线一区二区三区蜜桃-在线免费观看青青草视频-精品91麻豆免费观看-亚洲福利网址在线观看| 亚洲乱码日产精品一二三-日韩中文字幕综合在线-日韩欧美一级黄色录像-午夜福利在线视频观看| 欧美精品一区二区三区三州-少妇被五个黑人玩的在线视频-国产亚洲精品a久久7777-亚洲av色香蕉一区二区精品国产| 日韩精品人妻视频一区二区三区-国产经典一区二区三区四区-亚洲中文视频免费在线观看-美女自拍大秀福利视频| 亚洲乱码中文字幕综合-欧美日韩亚洲综合久久精品-美女隐私无遮挡免费网站-国产精品激情av在线播放| 欧美日韩激情免费观看-成年大片免费视频观看-俺来也去也网激情五月-在线国产精品自偷自拍| 日韩少妇黄色在线观看-国产精品视频不卡一区二区-国产成+人+亚洲+欧美+综合-欧美日韩亚洲大陆国产| 亚洲国产精品不卡毛片-青青青视频手机在线观看-在线视频中文字幕人妻-亚洲永久精品免费在线| 蜜臀精品国产亚洲av尤物-日韩人妻少妇中文字幕-赶碰97在线公开视频-亚洲欧美日韩天堂综合| 久久国产精品一品二品-国产二区中文字幕在线观看-极品性感尤物少妇粉嫩逼-亚洲成人av男人的天堂网|