deno-puppeteer / readme.md
jljiu's picture
Upload 4 files
110d062 verified

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. 安装依赖:
  1. 运行服务:
  • 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 可用空间

常见问题

  1. Q: 截图服务返回 500 错误

    • A: 检查目标网站是否可访问
    • A: 确认容器内存限制是否充足
  2. Q: Docker 构建失败

    • A: 确保网络连接正常
    • A: 尝试清理 Docker 缓存后重新构建

开发计划

  • 支持自定义截图尺寸
  • 添加截图延时选项
  • 支持 PDF 导出
  • 添加批量截图功能
  • 优化图片压缩选项

贡献指南

欢迎提交 Issue 和 Pull Request。在提交 PR 前请确保:

  1. 代码遵循项目编码规范
  2. 添加必要的测试用例
  3. 更新相关文档