zoukankan      html  css  js  c++  java
  • 自己写的php curl库实现整站克隆

    有时候常常会用到一些在线手冊,比方国内或国外的。有些是訪问速度慢,有些是作者直接吧站点关闭了,有些是server总是宕机。所以还是全盘克隆到自己server比較爽。所
    已这里给了一个demo
    <?php
    
    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
    
    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;
    
     }
    
    }

    相应包括的文件我已经上传上去了http://download.csdn.net/detail/tiaozhanji_xian/8951277,免积分的


  • 相关阅读:
    InChatter系统之服务器开发(一)
    InChatter系统开源聊天模块前奏曲
    System.Lazy<T>延迟加载
    系统的层级架构
    Android网络通信库Volley简介(转)
    switch case 忘记 break
    switch case 忘记 break
    C# Lock 解读
    JSON资料整理(转载)
    [Leetcode]253. 会议室 II(数组/堆)
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/6885688.html
Copyright © 2011-2022 走看看