网页抓取url替换程序Demo

原创 2016年08月30日 15:18:01
define("URL", "http://www.hao123.com");
define("URLI", "http://www.hao123.com/");
//首页
function index(){

    $str = $this->curl(URL);
    $str = $this->url_add(URL,$str);
    $this->url_handle($str);  

}
//url加密
function url_be($arr,$str){

    if($arr){
            foreach($arr[2] as $i){
                $preg_css = "/(css)/is";
                $preg_js = "/(js)/is";
                $preg_png = "/(png)/is";
                $preg_jpg = "/(jpg)/is";
                $preg_gif = "/(gif)/is";

                if( !preg_match($preg_css,$i) and !preg_match($preg_js,$i) and !preg_match($preg_png,$i) 
                    and !preg_match($preg_jpg,$i) and !preg_match($preg_gif,$i) and $i != URLI and $i != '' and $i != URL ){

                        $be = base64_encode($i);
                        $be = str_replace('=','',$be);
                        $str = str_replace($i,site_url().'/index/url_bd/'.$be,$str);
                    }   
            }
            return $str;
    }

}
//url处理
function url_handle($str){

    $preg_s = '/(href=\")(.*?)(\")/is';
    preg_match_all($preg_s,$str,$arr);
    $str = $this->url_be($arr,$str);
    $preg_s = '/(src=\")(.*?)(\")/is';
    preg_match_all($preg_s,$str,$arr);
    echo $this->url_be($arr,$str);

}
//url解密
function url_bd($be){
    if($be){
        $url = base64_decode($be);
        $str = $this->curl($url);
        $str = $this->url_add(URL,$str);
        $this->url_handle($str);
    }
}

//追加主域名
function url_add($url,$str){

    $preg = "/(href=\"\/)(.*?)(\")/is";
    $str = preg_replace($preg,'href="'.$url.'/\\2"',$str);
    $preg = "/(src=\"\/)(.*?)(\")/is";
    $str = preg_replace($preg,'href="'.$url.'/\\2"',$str);
    $preg = "/(href=\")(?!http)(?!javascript)(.*?)(\")/is";
    $str = preg_replace($preg,'href="'.$url.'/\\2"',$str);
    return $str;
}   
//抓取页面
function curl($url){

    $ch = curl_init($url) ;
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //如果把这行注释掉的话,就会直接输出
    $out = curl_exec($ch) ;
    curl_close($ch);
    return $out;

}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java网页抓取demo

  • 2013-10-23 16:29
  • 1.08MB
  • 下载

几种PHP实现网页抓取的程序代码

使用Google引擎搜索出这样的文章,不错,怕大家搜索不到,特此重新排版转载出来! 网页抓取就像搜索引擎一个可以去自动抓取其它服务器上的内容了,下面我整理的几个php常用做法,大家一起来看看。 ...
  • qqHJQS
  • qqHJQS
  • 2015-05-18 20:14
  • 1177

调用自定义的方法接口.ashx一般处理程序 借鉴了别人网页抓取的类

描述:近段时间写接口,还要调用别人的接口,写好写但是调用不知道啊!刚开始也知道怎么开始,感觉简单不就是调用吗?但是实施起来,汗...对我一个新手来说第一次接触,所以也是自学成才吧!下次登录的时候把源码...

mac搬网页抓取程序

  • 2011-01-08 11:18
  • 2.77MB
  • 下载

android 的网页抓取

  • 2015-12-22 16:48
  • 4.90MB
  • 下载

laravel框架使用phpQuery库来实现网页抓取

想做一个网页抓取的功能,底层使用PHP的laravel框架。 这里使用phpQuery库来实现网页抓取,这里不做介绍。 需要了解的可以百度,或者等我填坑。 下载最新版本可以前往https://code...

网页抓取jar包

  • 2016-07-13 14:55
  • 928KB
  • 下载

网站神器-网页抓取精灵

  • 2013-04-12 08:37
  • 226KB
  • 下载

Python 中利用urllib2简单实现网页抓取

网页抓取就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地。 在Python中,可以使用urllib2这个模块来抓取网页,模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)