[渲染利器]Google官方出品的js渲染環境
源起
今早兒打開群,沒想到D總就順手推薦了這個git
https://github.com/GoogleChrome/rendertron
進去一看,熟悉的字樣
A dockerized, headless Chrome rendering solution https://render-tron.appspot.com/
1
2
A dockerized, headless Chrome rendering solution https://render-tron.appspot.com/
使用docker 打包google headless 瀏覽器,集成在一個環境,外部預留一些常見的api ,也有node的使用包
使用
打開git地址,將代碼拷到本地,切換到含有Dockerfile的目錄,使用命令
docker build -t rendertron . --no-cache=true
1
2
docker build -t rendertron . --no-cache=true
這一步,我們在本地生成了一個docker鏡像(PS:速度慢的同學請考慮使用docker加速),然后我們使用命令起這樣一個docker
docker run -it -p 8080:8080 --name rendertron-container rendertron
1
2
docker run -it -p 8080:8080 --name rendertron-container rendertron
這個時候,我們在本地起了這樣一個服務,本地的console界面會輸出
> bot-render@1.0.0 start /app > node src/main.js Chrome launched with debugging on port 45863 Listening on port 8080
1
2
3
4
5
6
> bot-render@1.0.0 start /app
> node src/main.js
Chrome launched with debugging on port 45863
Listening on port 8080
界面
我們使用瀏覽器打開http://127.0.0.1:8080/,可以看到如下的界面
google做這個酷炫的UI,感覺頭一回啊- – ,在中間的框里面我們可以輸入自己想要渲染的URL,比如douban吧 ,我們在中間的框里面輸入http://www.douban.com, 然后點擊Render & serialize,
可以看到渲染非常的快
API
從界面上有四個按鈕
Take screenshot – 截圖功能
Render & serialize – 渲染
Render & serialize with web components v1 – 渲染并加載組件
view documentation – 查看官方文檔
從官方的解讀中,我們可以看到他的http api的入口點都是
/render/
1
2
3
/render/
/screenshot/
所以如果我們直接在程序中使用的話,就直接這么寫
In [1]: import requests In [2]: url = 'http://127.0.0.1:8080/render/https://www.cnblogs.com' In [3]: r = requests.get(url) In [4]: r.text
1
2
3
4
5
6
7
8
In [1]: import requests
In [2]: url = 'http://127.0.0.1:8080/render/https://www.cnblogs.com'
In [3]: r = requests.get(url)
In [4]: r.text
其它
因為官方build可能需要時間,dockerhub里面已經有人build 好,直接使用命令
docker run -it -p 8080:8080 --cap-add SYS_ADMIN --name rendertron-container mofe/rendertron
1
2
docker run -it -p 8080:8080 --cap-add SYS_ADMIN --name rendertron-container mofe/rendertron
Docker 渲染
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。