kulizh/screenshot-pages

1.1.0 2023-10-21 14:31 UTC

This package is auto-updated.

Last update: 2024-09-21 18:38:06 UTC


README

这是基于PHP的服务端实现,用于Qurle的网站截图库

安装

通过Composer安装包

composer require kulizh/screenshot-pages

配置

基本上库使用JSON文件params.json,它放置在附近。但您也可以使用自己的参数化实现。

使用params.json

在使用params.json时,您只需创建该文件即可

{
    "path": "./screenshots",
    "viewports": [
        "1440x900",
        "360x900"
    ],
    "format": "png",
    "pages": [
        "https://kulizh.ru",
        "https://qurle.net"
    ]
}

使用您自己的配置

您可以在useParameters()方法中传递自己的ParametersInterface实现。

use ScreenshotPages\Helpers\Parameters\ParametersInterface;

class HardcodeParameters implements ParametersInterface
{
    public function getSaveFolder(): string
    {
    	return './result/';
    }

    public function getSaveFormat(): string
    {
    	return 'jpeg';
    }
    
    public function getPages(): array
    {
    	return [
    		'https://www.wikipedia.org/'
    	];
    }

    public function getViewports(): array
    {
    	return [
    		'1920x1080'
    	];
    }
}

$capture = new Capture();
$capture->use(new HardcodeParameters);

为了方便起见,您可以扩展抽象类AbstractParameters(该类也实现了接口),参数已在其中预设

use ScreenshotPages\Helpers\Parameters\AbstractParameters;

class PresetParameters extends AbstractParameters
{
	
}

$capture = new Capture();
$capture->use(new PresetParameters);

用法

创建类的实例并选择如何执行脚本。如果您通过命令行运行它,请使用verbose: true以在终端显示结果。当您在项目代码中使用库时,静默模式很好。

在所有准备工作完成后,使用make()方法

use ScreenshotPages\Capture;

$capture = new Capture();
$capture->verbose = true; // To see cli output

$capture->make();

命令行使用

从版本1.1.0开始,您可以从命令行以详细模式使用库

vendor/bin/capture ./params.json

... 其中./params.json是JSON配置文件的相对路径。