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. 更新相关文档