一个使用 Puppeteer 和 Sharp 的简单 API,用于捕获网页截图。
- 捕获各种格式的截图:PNG、JPEG 和 SVG。
- 指定自定义的宽度、高度和图像质量。
- 支持多种 URL 格式以提高灵活性。
-
克隆仓库:
git clone https://gitee.com/mxywds/web-to-svg.git
-
进入项目目录:
cd web-to-svg
-
安装依赖:
npm install
-
启动服务器:
npm start
该 API 支持多种方式指定目标 URL 和图像类型。
格式:/screenshot?url=<url>&type=<type>
示例:
curl "http://localhost:3000/screenshot?url=http%3A%2F%2Fwww.baidu.com&type=jpg"
格式:/screenshot/<targetUrl>
示例:
curl "http://localhost:3000/screenshot/http%3A%2F%2Fwww.baidu.com"
格式:/screenshot/<targetUrl>.<type>
示例:
curl "http://localhost:3000/screenshot/http%3A%2F%2Fwww.baidu.com.jpg"
格式:/screenshot.<type>?url=<url>
示例:
curl "http://localhost:3000/screenshot.jpg?url=http://www.baidu.com"
url
:要捕获的网页的 URL(必需)。type
:图像格式(png
、jpg
、jpeg
、svg
)。默认是jpg
。width
:视口的宽度(可选,默认是1920
)。height
:视口的高度(可选,默认是1080
)。quality
:图像的质量(可选,默认是10
)。
curl "http://localhost:3000/screenshot?url=http://www.baidu.com&type=png"
curl "http://localhost:3000/screenshot?url=http://www.baidu.com&type=jpg&quality=10"
curl "http://localhost:3000/screenshot?url=http://www.baidu.com&type=jpg&width=1280&height=720"
curl "http://localhost:3000/screenshot/http%3A%2F%2Fwww.baidu.com"
curl "http://localhost:3000/screenshot/http%3A%2F%2Fwww.baidu.com.jpg"
curl "http://localhost:3000/screenshot.jpg?url=http://www.baidu.com"
curl "http://localhost:3000/screenshot/http%3A%2F%2Fwww.baidu.com.svg"
- 如果缺少
url
参数,API 将返回400
状态码,并显示消息URL is required
。 - 如果在捕获截图时发生错误,API 将返回
500
状态码,并显示消息An error occurred while taking the screenshot
。
本项目基于 MIT 许可证 - 详情请参阅 LICENSE 文件。