首页 > 网站 > 建站经验 > 正文

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

2024-04-25 20:36:16
字体:
来源:转载
供稿:网友

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编码

 

 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表