推荐一个curl库,实现整站克隆功能

有时候经常会用到一些在线手册,比如国内或国外的,有些是访问速度慢,有些是作者直接吧网站关闭了,有些是服务器总是宕机,所以还是全盘克隆到自己服务器比较爽,

这里给大家推荐接触过的一个CURL库,可以实现整站克隆功能,,对于复制一些手册站点还是非常实用的。

库特点:给定一初始连接,初始链接以下的层级所有文件会拷贝到本地。多次克隆可以配置是否覆盖。可以配置是否下载图片。所有链接替换为相对链接,所以可以随便rewrite。绝对不会出现文件覆盖等问题。克隆结果展示(这个克隆操作几秒钟就完成了):克隆源网站:

克隆结果:

技术交流:

Demo代码:<?php//author class Controller_Spider extends MyYaf_Controller_Base{ function init(){ parent::init(); if(!$this->getRequest()->isCli()){Ares_Http::error403(); } include ‘CurlMulti/CurlMulti.php’; include ‘CurlMulti/MyCurl.php’; include ‘phpQuery.php’; }}<?php//author class YafdocController extends Controller_Spider { function init() { parent::init (); include ‘CurlMulti/MyCurl/Clone.php’; } function indexAction() { $url = ‘http://www.laruence.com/manual’; $dir = Yaf_Application::app ()->getAppDirectory () . ‘/data/manual’; $cacheDir = $this->getBaseDir () . ‘/cache/curl’; if (! is_dir ( $cacheDir )) {mkdir ( $cacheDir ); } $curl = new CurlMulti (); $curl->maxThread = 10; $curl->cache [‘enable’] = true; $curl->cache [‘enableDownload’] = true; $curl->cache [‘dir’] = $cacheDir; $curl->cache [‘compress’] = true; $clone = new MyCurl_Clone ( $curl, $url, $dir ); $clone->overwrite = true; $clone->start (); return false; }}

最困难之时,就是我们离成功不远之日。

推荐一个curl库,实现整站克隆功能

相关文章:

你感兴趣的文章:

标签云: