Spaces:
Runtime error
Runtime error
File size: 2,420 Bytes
110d062 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
# Web Screenshot Service
一个基于 Deno 的网页截图服务。
## 功能特点
- 🖥️ 网页 URL 解析与展示
- 📸 高质量网页截图功能
- 🚀 基于 Docker 快速部署
- 💻 支持 1920x1080 高清分辨率
## 快速开始
1. 构建 Docker 镜像:
bash
docker build -t web-screenshot .
2. 运行容器:
docker run -p 7860:7860 web-screenshot
3. 访问服务:
- 网页界面: `http://localhost:7860`
- 截图API: `http://localhost:7860/screenshot?url=https://example.com`
### 本地开发
1. 安装依赖:
- Deno: https://deno.land/#installation
- Node.js: https://nodejs.org/
- Puppeteer: `npm install puppeteer`
2. 运行服务:
- bash:deno/README.md
deno run -A main.ts
## API 说明
### 获取网页截图
```http
GET /screenshot?url=<target_url>
```
参数说明:
- `url`: 需要截图的目标网页地址(必填)
返回格式:
- Content-Type: image/png
- 分辨率: 1920x1080
示例:
```bash
curl "http://localhost:7860/screenshot?url=https://example.com" > screenshot.png
```
### 主页 URL 解析
```http
GET /
```
返回网页解析工具界面,支持:
- URL 文本解析
- 自动协议补全
- 一键截图功能
- 新窗口打开链接
## 技术架构
- **运行时**: Deno
- **开发语言**: TypeScript
- **截图引擎**: Puppeteer
- **容器化**: Docker
- **基础镜像**: Ubuntu
## 目录结构
```
.
├── Dockerfile # Docker 构建文件
├── README.md # 项目说明文档
├── main.ts # 主程序入口
└── index.html # 前端界面
```
## 环境要求
- Deno 1.x
- Node.js 14+
- Docker (可选)
- 内存: 建议 2GB 以上
- 磁盘空间: 至少 1GB 可用空间
## 常见问题
1. **Q: 截图服务返回 500 错误**
- A: 检查目标网站是否可访问
- A: 确认容器内存限制是否充足
2. **Q: Docker 构建失败**
- A: 确保网络连接正常
- A: 尝试清理 Docker 缓存后重新构建
## 开发计划
- [ ] 支持自定义截图尺寸
- [ ] 添加截图延时选项
- [ ] 支持 PDF 导出
- [ ] 添加批量截图功能
- [ ] 优化图片压缩选项
## 贡献指南
欢迎提交 Issue 和 Pull Request。在提交 PR 前请确保:
1. 代码遵循项目编码规范
2. 添加必要的测试用例
3. 更新相关文档
|