我想用PHP制作一个网页的本地副本。这可以是一个网络档案,比如mht,也可以只是一个带有图像和css的html。结果应该与您在浏览器中按下"另存为"按钮几乎相同:)
我找到了这样的图书馆来做这件事:http://freecode.com/projects/php-save-complete-html-page最后,它创建了一个大的html文件,但工作速度非常慢,并且创建了非常大的文件。
我在网上找到了这样的解决方案,但它也不起作用:
wget --no-parent --timestamping --convert-links --page-requisites --no-directories --no-host-directories -erobots=off http://cnn.com
它不创建任何图像,不下载css,只下载html仅
我想找到一些PHP库,可以帮助我完全复制网页,或者找到一些外部工具,我可以做API cal并获得MHT存档,例如
我认为要编写自己的URL,可以使用curl并搜索外部URL,然后递归地遵循这些URL。外面可能有一个图书馆。
否则,您可以在php中使用exec()
来运行命令行程序。HTTrack在创建网站方面做得很好:http://www.httrack.com/html/fcguide.html
例如:
exec('httrack "http://www.all.net/" -O "/tmp/www.all.net" "+*.all.net/*" -v');
此外,如果你想使用wget
,我发现了一组应该有效的选项(据说我还没有尝试过):
wget '
--recursive '
--no-clobber '
--page-requisites '
--html-extension '
--convert-links '
--restrict-file-names=windows '
--domains example.com '
--no-parent '
www.example.com/directoryToArchive