Skip to content

Latest commit

 

History

History
100 lines (74 loc) · 4.99 KB

README_CN.md

File metadata and controls

100 lines (74 loc) · 4.99 KB
语言: 中文 English

网站截图 API

Version MIT License visitor_badge

简介

仅仅只是做了一些简单的截图操作,如果有什么需求,或是想参与开发,我们欢迎您 PR

快速开始

免费 Vercel 部署

Deploy with Vercel

安装

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)
})

ServerLess

你需要配置一个环境变量名 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 图片类型,pngjpegwebp
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 图片编码,binarybase64
clip String 剪切指定区域,接收 4 个单位以英文逗号分割分别是x,y,width,height
waitUntil load String 在什么时机触发截图,详细请看下方另一个表格

waitUntil

属性 描述
load 在 load 事件触发时
domcontentloaded 在 DOMContentLoaded 事件触发时
networkidle0 500ms 内没有任何网站请求时
networkidle2 500ms 内只有 2 个请求时