Spaces:
Runtime error
Runtime error
Web Screenshot Service
一个基于 Deno 的网页截图服务。
功能特点
- 🖥️ 网页 URL 解析与展示
- 📸 高质量网页截图功能
- 🚀 基于 Docker 快速部署
- 💻 支持 1920x1080 高清分辨率
快速开始
构建 Docker 镜像: bash docker build -t web-screenshot .
运行容器: docker run -p 7860:7860 web-screenshot
访问服务:
- 网页界面:
http://localhost:7860
- 截图API:
http://localhost:7860/screenshot?url=https://example.com
本地开发
- 安装依赖:
- Deno: https://deno.land/#installation
- Node.js: https://nodejs.org/
- Puppeteer:
npm install puppeteer
- 运行服务:
- bash:deno/README.md deno run -A main.ts
API 说明
获取网页截图
GET /screenshot?url=<target_url>
参数说明:
url
: 需要截图的目标网页地址(必填)
返回格式:
- Content-Type: image/png
- 分辨率: 1920x1080
示例:
curl "http://localhost:7860/screenshot?url=https://example.com" > screenshot.png
主页 URL 解析
GET /
返回网页解析工具界面,支持:
- URL 文本解析
- 自动协议补全
- 一键截图功能
- 新窗口打开链接
技术架构
- 运行时: Deno
- 开发语言: TypeScript
- 截图引擎: Puppeteer
- 容器化: Docker
- 基础镜像: Ubuntu
目录结构
.
├── Dockerfile # Docker 构建文件
├── README.md # 项目说明文档
├── main.ts # 主程序入口
└── index.html # 前端界面
环境要求
- Deno 1.x
- Node.js 14+
- Docker (可选)
- 内存: 建议 2GB 以上
- 磁盘空间: 至少 1GB 可用空间
常见问题
Q: 截图服务返回 500 错误
- A: 检查目标网站是否可访问
- A: 确认容器内存限制是否充足
Q: Docker 构建失败
- A: 确保网络连接正常
- A: 尝试清理 Docker 缓存后重新构建
开发计划
- 支持自定义截图尺寸
- 添加截图延时选项
- 支持 PDF 导出
- 添加批量截图功能
- 优化图片压缩选项
贡献指南
欢迎提交 Issue 和 Pull Request。在提交 PR 前请确保:
- 代码遵循项目编码规范
- 添加必要的测试用例
- 更新相关文档