欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

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

程序员文章站 2022-04-28 08:12:26
...
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编码

AD:真正免费,域名+虚机+企业邮箱=0元