Skip to content

SnapWeb v0.0.3

Latest

Choose a tag to compare

@HG-ha HG-ha released this 19 May 10:00
· 6 commits to main since this release

版本 0.0.3 发布说明

此版本主要关注于提升核心功能、稳定性和易用性。

主要更新内容:

  • 强大的截图功能:
    • 支持全页面截图,捕获整个可滚动页面的内容。
    • 支持元素截图,可以根据 CSS 选择器、XPath、ID、类名、标签名、属性、文本内容、Canvas 或 iframe 精准截取特定 HTML 元素。
  • 灵活的设备模拟:
    • 内置 "pc", "phone", "tablet" 等多种设备预设。
    • 允许用户自定义视口宽度、高度和 User-Agent,以满足不同的测试和截图需求。
  • 异步与同步处理:
    • 提供 /screenshot/submit 接口用于异步提交截图任务,适合批量处理和耗时较长的任务。
    • 提供 /screenshot/sync 接口用于同步获取截图,即时返回结果,方便快速验证。
  • 任务管理与系统监控:
    • 内置任务管理器,有效控制并发任务数量,防止系统过载。
    • 支持通过 DELETE /task/{task_id} 手动删除任务。
    • 提供 /system/stats 接口,方便监控系统资源使用情况和任务统计。
  • 增强的反爬虫机制:
    • 通过优化浏览器启动参数和注入 JavaScript 脚本,努力伪装浏览器指纹,提高截图成功率。
  • Docker 支持:
    • 提供了 Dockerfile,简化了容器化部署流程,方便在不同环境中快速部署和运行服务。

技术栈亮点:

  • 基于 Python 3.10 和 FastAPI 构建,提供高效稳定的 API 服务。
  • 使用 Playwright 进行浏览器自动化和截图,确保截图的准确性和兼容性。
  • 采用 Uvicorn 作为 ASGI 服务器。
  • 利用 Pydantic 进行数据校验和模型定义,增强了代码的健壮性。

如果您在使用过程中遇到任何问题或有任何建议,欢迎随时提出。