languagewire / html-dumper
一个库,它将页面作为静态HTML文件和资产下载到磁盘上
1.0.1
2022-11-18 15:10 UTC
Requires
- php: >=7.2
- ext-dom: *
- guzzlehttp/guzzle: ^6.5 || ^7.5
Requires (Dev)
- monolog/monolog: ^2.8
- phpspec/prophecy-phpunit: ^2.0
- phpstan/phpstan: ^1.8
- phpunit/phpcov: ^8.2
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^4.0
README
HtmlDumper 是一个PHP库,它将HTML页面的副本及其资产下载到目标目录。
- 下载HTML源代码并将所有URI转换为相对路径,创建更新的
index.html文件。 - 解析HTML并获取相关资源
- 样式表、脚本、图片、视频
- 也可以与位于CSS文件中的资产一起工作。
- 删除指向外部页面的锚链接。
- 不会爬取初始URL之外的页面。
$url = "https://example.com"; $targetDirectory = "/tmp/htmldump"; $downloader = new \LanguageWire\HtmlDumper\Service\PageDownloader(); if ($downloader->download($url, $targetDirectory)) { echo "Sucessfully downloaded $url in $targetDirectory"; }
要求
安装
安装HtmlDumper的推荐方式是通过 Composer。
composer require languagewire/html-dumper
开发
在 build/ 文件夹中有一个 Dockerfile 文件,用于设置本地开发所需的全部依赖,运行单元测试和其他linters。
自定义 build/.env 如下
cd build
cp .env.template .env
nano .env
然后在 build/ 文件夹中运行 ./build.sh
cd build
./build.sh
许可
HtmlDumper 在MIT许可证(MIT)下提供。请参阅 LICENSE 文件以获取更多信息。