明日之星的博客

明日之星技术分享博客

网页抓取url替换程序Demo
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;

}
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq3559727/article/details/52369573
文章标签: url 函数 curl
个人分类: php
想对作者说点什么? 我来说一句

基于C#的多线程的网页抓取

2014年02月13日 32KB 下载

HTTrackPortable

2017年11月27日 6.11MB 下载

网页抓取代码

2017年12月20日 8KB 下载

龙爪手--盗链工具会员版

2009年07月29日 51KB 下载

htmlparser实现爬虫

2012年05月03日 284KB 下载

没有更多推荐了,返回首页

不良信息举报

网页抓取url替换程序Demo

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭