用于捕获Web应用程序或网页屏幕截图的Python库
项目描述
抓拍工具
用于捕获Web应用程序的Python库
良好实践
- 任何代码添加都必须在你自己的分支中完成。你可以将其命名为
fl/what_this_branch_brings
,其中 'f' 是你名字的第一个字母,'l' 是你姓氏的第一个字母。 - 一个分支解决一个特定的问题。
- 请编写详尽的测试。覆盖率不能降低。
- 请在将代码推送到之前,将master分支合并到你的分支中,运行测试和检查,并纠正所有错误和警告。
- 当你认为你已经完成时,可以发起一个拉取请求。
测试和检查
要开始测试和检查
第一次
- 安装 docker 和 docker-compose。
- 运行:
docker-compose build
,以创建所有所需的镜像。 - 要开始验证,运行:
docker-compose up
。
当已经设置好时
你只需要运行 docker-compose up
。
要清理
- 如果您想停止容器并删除由 up 命令创建的容器、网络、卷和镜像,请运行:
docker-compose down
。 - 如果您想删除所有镜像,请运行:
docker rmi -f $(docker images -q)
。
编写新测试
- 您必须使用
unittest
包 - 您必须将您的测试文件放在 tests 文件夹中
- 您必须使用以下命名模式命名您的测试文件: test_*.py
本地服务器
一个带有网页的服务器可以在以下地址使用: http://server:5000/index.html 和 http://server:5000/other.html
用法
文档
文档在 这里 可用,在 readthedocs。
使用 django 的示例
服务器必须使用 --nothreading 和 --noreload 作为参数启动。
# views.py in a Django project
from django.http import HttpResponse
import asyncio
from screamshot import generate_bytes_img_prom
def home(request):
loop = asyncio.get_event_loop()
future = asyncio.Future()
asyncio.ensure_future(
generate_bytes_img_prom('https://www.google.fr', future))
loop.run_until_complete(future)
return HttpResponse(future.result(), content_type='image')
或使用已包装的函数
# views.py in a Django project
from django.http import HttpResponse
from screamshot import generate_bytes_img__django_wrap
def home(request):
img = generate_bytes_img__django_wrap('https://www.google.fr')
return HttpResponse(img, content_type='image')
使用 Gunicorn
使用 Gunicorn 时没有线程相关的问题,因此我们不需要使用 --nothreading 和 --noreload 参数。
变更日志
0.0.1
Screamshot 库的初始化
- init 文件
- 作者
- 版本
- 全部
- 核心文件
- 一个具有三个方法的
ScreenShot
对象load
,加载一个网页screamshot
,对已加载的页面进行截图load_and_screamshot
,加载一个网页并对其进行截图
- 一个具有三个方法的
0.1.0
- 不再有
ScreenShot
对象,只有一个名为generate_bytes_img
的函数,该函数接受一些参数并返回一个二进制bytes
对象。
0.1.1
generate_bytes_img
不是一个同步函数,已添加generate_bytes_img_prom
generate_bytes_img_prom
使用asyncio.Future
对象
0.1.2
- 现在有一个使用 Docker 的测试和验证工具
0.1.3
- 添加
browser-manager
脚本 - 添加
screamshot
脚本
0.1.4
- 添加
serialize
函数 - 添加
deserialize
函数
0.1.5
- 添加
generate_bytes_img_django_wrap
函数
0.1.6
- 模块现在可用
0.1.7
- 浏览器端点保存在临时目录中
0.1.8
serialize
函数返回一个dict
对象deserialize
接收一个dict
对象
0.1.9
- 删除序列化函数
- 添加一个 bytes_to_img 函数
0.1.10
generate_bytes_img_django_wrap
已重命名为generate_bytes_img_wrap
- 错误被处理
0.1.11
bytes_to_png
已重命名为bytes_to_file
bytes_to_file
支持类型选择
0.1.12
- 您现在可以使用
get_token
从另一个页面获取 http 标头 - 并将这些标头存储在本地存储中
项目详情
下载文件
下载适用于您平台的项目文件。如果您不确定选择哪一个,请了解有关 安装包 的更多信息。
源分布
screamshot-0.1.12.tar.gz (10.7 kB 查看哈希)
构建分布
screamshot-0.1.12-py3-none-any.whl (19.7 kB 查看哈希)