[渲染利器]Google官方出品的js渲染环境

网友投稿 672 2022-05-30

源起

今早儿打开群,没想到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/ -> 渲染 /screenshot/ -> 截图

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

[渲染利器]Google官方出品的js渲染环境

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小时内删除侵权内容。

上一篇:⭐️ LeetCode解题系列 ⭐️ 1179. 重新格式化部门表(Oracle Pivot 行转列函数)
下一篇:❤️制作人工智能QQ机器人,视频教程+源码❤️
相关文章