我在项目工作时碰到了一个问题.我想"抓取"某些感兴趣的网站并将其保存为"完整网页",包括样式和图像,以便为它们构建镜像.我多次给网站添加书签以便稍后阅读,几天之后网站就被关闭了,因为它遭到了黑客入侵而且所有者没有备份数据库.
当然,我可以很轻松地阅读与PHP文件fopen("http://website.com", "r")
或fsockopen()
更主要的目标是保存完整的网页,所以如果它出现故障,它仍可以提供给其他人就像一个"编程时间机器" :)
有没有办法在没有读取的情况下执行此操作并保存页面上的每个链接?
Objective-C解决方案也很受欢迎,因为我也试图弄清楚它的更多内容.
谢谢!
Kon*_*Pal 16
您实际上需要解析引用的html和所有css文件,这并不容易.然而,快速的方法是使用像wget这样的外部工具.安装wget后,您可以从命令行运行
wget --no-parent --timestamping --convert-links --page-requisites --no-directories --no-host-directories -erobots=off http://example.com/mypage.html
这将下载mypage.html和所有链接的CSS文件,图像和css内链接的图像.在您的系统上安装wget后,您可以使用php的system()
函数来以编程方式控制wget.
注意:您至少需要wget 1.12才能正确保存通过css文件引用的图像.