Webrender 为小可的外置服务,主要用于处理 Wiki infobox 图片渲染、 html 渲染以及部分功能的访问代理。
此服务使用 JavaScript 编写,并由 Puppeteer 驱动,因此需要安装 Node.js 环境,以及安装 Chromium 内核浏览器。
搭建
请前往此处下载源文件,并在终端内安装依赖。
npm install
前往此处下载任意版本 Chromium,或前往 Chromium 官方网站下载。
于 package.json
同级目录中新建 .env
文件,并填写以下字段:
CHROMIUM_PATH = # Chromium 可执行文件位置 FC_SERVER_PORT = 15551 # API 监听端口
使用 node 运行 ./src/index.js
来开启服务。
node ./src/index.js
API 监听端口默认位于 15551,可自行选择自定义端口。
请在配置文件中 web_render
配置项填写访问地址,如 http://127.0.0.1:15551
。
API
以下为 Webrender API 的使用方法。
/
- POST
此 API 可以生成网页内容截图。
请求参数
-
content
:要加载到页面的 HTML 内容。 -
width
(可选):截图的宽度,默认 500px。 -
height
(可选):截图的高度,默认 1000px。 -
mw
(可选):是否仅截取主要内容。 -
tracing
(可选):是否启用页面追踪,默认 False。
响应
- 成功:返回生成的 JPEG 格式页面截图。
- 失败:返回 500 错误。
/element_screenshot
- POST
此 API 可以生成指定元素的网页内容截图。
请求参数
element
:指定要截图的元素的 CSS 选择器,可以是单个字符串或字符串数组。-
content
(可选):要加载到页面的 HTML 内容。 -
url
(可选):要加载的页面的 URL。 -
css
(可选):要应用于页面的自定义 CSS 样式。 -
width
(可选):截图的宽度,默认 720px。 -
height
(可选):截图的高度,默认 1280px。 -
counttime
(可选):是否在截图中添加计时框,默认 True。 -
tracing
(可选):是否启用页面追踪,默认 False。
响应
- 成功:返回生成的 JPEG 格式页面截图。
- 失败:返回 500 错误。
/section_screenshot
- POST
此 API 可以生成网页中特定区域的内容截图。
请求参数
-
section
:要截取的区域的 HTML 元素的 ID。 -
content
(可选):要加载到页面的 HTML 内容。 -
url
(可选):要加载的页面的 URL。 -
css
(可选):要应用于页面的自定义 CSS 样式。 -
width
(可选):截图的宽度,默认 720px。 -
height
(可选):截图的高度,默认 1280px。 -
counttime
(可选):是否在截图中添加计时框,默认 True。 -
tracing
(可选):是否启用页面追踪,默认 False。
响应
- 成功:返回生成的 JPEG 格式页面截图。
- 失败:返回 500 错误。
/page
- POST
此 API 可以生成指定 URL 页面的截图。
请求参数
-
url
:要加载的页面的 URL。 -
css
(可选):要应用于页面的自定义 CSS 样式。
响应
- 成功:返回生成的 JPEG 格式页面截图。
- 失败:返回 500 错误。
/source
- GET
此 API 可以获取网页源代码。
请求参数
-
url
:要加载的页面的 URL。
响应
- 成功:返回请求的网页内容。
- 失败:返回 500 错误。
技术性 | ||
---|---|---|
部署 | ||
使用 | ||
开发 |