使用python+playwright开发了一个高效网页截图工具:支持长截图、异步加载内容截图、API调用、Docker一键部署!

使用python+playwright开发了一个高效网页截图工具:支持长截图、异步加载内容截图、API调用、Docker一键部署!

一、简介

  • 利用playwright自动化工具,模拟浏览器打开网页,实现完整网页截图功能
  • 支持长截图,支持异步加载动态渲染内容截图
  • 支持docker一键部署
  • 支持API调用
  • 项目地址:github.com/luler/hello_screenshot

二、安装

  1. 提前安装好docker、docker-compose环境(自行安装,不做赘述)

  2. 新建docker-compose.yml文件,内容如下:

    version: '3'
    services:
    hello_screenshot:
    image: ghcr.io/luler/hello_screenshot:latest
    privileged: true
    ports:
      - 14140:14140
  3. 一键启动命令

    docker-compose up -d

三、使用示例

  1. 直接访问页面即可使用,页面地址:localhost:14140/

    • 页面截图如下:
      使用python+playwright开发了一个高效网页截图工具:支持长截图、异步加载内容截图、API调用、Docker一键部署!

    • 输入页面地址,点击抓取按钮就可实现网页截图,如下:
      使用python+playwright开发了一个高效网页截图工具:支持长截图、异步加载内容截图、API调用、Docker一键部署!

  2. 使用API调用方式实现截图

    • 接口:GET: localhost:14140//screenshot

    • 请求参数

      字段 类型 是否必填 简介
      url string 需要截图的目标网页地址
      viewport_width int 浏览器视窗宽度(单位px),默认:1280
      viewport_height int 浏览器视窗高度(单位px),默认:720
      wait_second int 打开页面后等待秒数,默认:0,如果有些页面的数据是异步请求获取的,这里才需要设置等待获取时间
      full_page int 是否长截图整个网页,0-否(默认),1-是
    • postman请求示例:
      使用python+playwright开发了一个高效网页截图工具:支持长截图、异步加载内容截图、API调用、Docker一键部署!

四、演示地址

地址参考:cas.luler.top/?search=664f16483a8d...

五、总结

  • 一个专注于网页截图的小工具,安装和使用都非常简单
  • 因为有便于集成的API调用功能,可以轻松集成到一些需要网页截图、内容存档等功能的应用
我只想看看蓝天
讨论数量: 5

啊这不是一个 chrome 搞定的事情?

1周前 评论
luler (楼主) 1周前
qufo (作者) 5天前

file 这个是你做的嘛?

5天前 评论
luler (楼主) 5天前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!