语言:
中文
English
网站截图 API
仅仅只是做了一些简单的截图操作,如果有什么需求,或是想参与开发,我们欢迎您 PR
npm install webstack-screenshot --save
const webstackScreenshot = require('webstack-screenshot')
webstackScreenshot({ url: 'https://example.com' }).then((buffer) => {
console.log('buffer', buffer)
})
webstackScreenshot({ url: 'https://example.com', encoding: 'base64' }).then((base64) => {
console.log('base64', base64)
})
你需要配置一个环境变量名
WEBSTACK_SCREENSHOT_SERVERLESS
,环境变量值可以随意填写任何值,例如:true
如果截取的网站含有其它国家的语言文字,你可能需要手动配置字体文件。
配置环境变量名
WEBSTACK_SCREENSHOT_FONTS
,环境变量值可以是一个 url 或者是一个 path,多个字体文件需要使用,
分割。url 地址必须是https://
,path 必须是绝对路径例如:
/var/task/fonts/xxx.ttf,https://xxxxx/xxx/xxx.ttf
module.exports = require('webstack-screenshot/dist/src/serverless')
通过克隆仓库到本地来启动 网站截图 API
# 克隆仓库,并进入 WebStack-Screenshot 目录
git clone https://github.com/Lete114/WebStack-Screenshot.git WebStack-Screenshot
cd WebStack-Screenshot
# 安装依赖
npm install
# 启动服务
npm run start
请求方法: GET | POST
属性 | 默认值 | 类型 | 描述 |
---|---|---|---|
url | String | 请求的网站 URL 地址,如果输入的是域名会自动拼接http:// |
|
type | jpeg | String | 图片类型,png 、jpeg 、webp |
cache | 86400 | Int & Boolean | 缓存,默认缓存为 1 天,传入false 禁用缓存,传入数字如:123 则缓存 123 秒 |
quality | 50 | Int | 图片质量0-100之间,如果是图片类型是png 则被忽略 |
viewport | {width: 1080,height: 1920,isMobile: false} |
String | Viewport | 设置屏幕窗口大小 |
fullPage | false | Boolean | 截取完整页面 |
isMobile | false | Boolean | 是否是手机端 |
await | 1000 | Int | 页面渲染完成后等待 |
timeout | 30000 | Int | 截图超时,0 表示无限制(单位毫秒) |
encoding | binary | String | 图片编码,binary 、base64 |
clip | String | 剪切指定区域,接收 4 个单位以英文逗号分割分别是x,y,width,height |
|
waitUntil | load | String | 在什么时机触发截图,详细请看下方另一个表格 |
属性 | 描述 |
---|---|
load | 在 load 事件触发时 |
domcontentloaded | 在 DOMContentLoaded 事件触发时 |
networkidle0 | 500ms 内没有任何网站请求时 |
networkidle2 | 500ms 内只有 2 个请求时 |