• 郴州资讯网
 
您的位置:首页 > 站长资讯

PHP采集(远程抓取) 自定义函数

2020-06-28 19:55:29  来源:郴州资讯网

    PHP采集(远程抓取) 自定义函数

    在采集的时候,我们经常用到file_get_contents或CURL在写代码的时候,或者大家经常遇到问题,反复的调试,下面我自己写了一个函数,可以节省时间,这也是我自己用的,送给大家交流

    /*

    * 远程抓取数据函数

    *

    * $url 远程URL地址 必选

    * $way 1为file_get_contents抓取 2为CURL抓取 默认为1 可留空

    * $$coding 编码 1为UTF-8转GBK 1为GBK转UTF-8 留空为不转换

    *

    * 作者: 小曾 QQ839024615 欢迎加我一起交流!

    *

    */

    function GetFile($url,$way=1,$coding){

    if($way==1){

    $str=file_get_contents($url);

    }else if($way==2){

    @$ch=curl_init();

    curl_setopt($ch,CURLOPT_URL,$url);

    curl_setopt($ch,CURLOPT_HEADER,0);

    curl_setopt($ch,CURLOPT_NOBODY,false);

    curl_setopt($ch,CURLOPT_TIMEOUT,3);

    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);

    curl_setopt($ch,CURLOPT_MAXREDIRS,20);

    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.0)");

    $orders=@curl_exec($ch);

    @curl_close($ch);

    $str=$orders;

    }

    if($coding=="1"){

    $str=iconv("UTF-8", "GBK", $str);

    }elseif ($coding=="2"){

    $str=iconv("GBK", "UTF-8", $str);

    }

    return $str;

    }

    //使用方法

    echo GetFile("http://www.thinkphp.cn",2,1); //采集thinkphp官网 CURL 转GBK编码