|
php网页抓取乱码问题
- <?php
- header("Content-type: text/html; charset=gbk");//第一个办法,添加这行代码,可以解决乱码这个问题,抓取的网页编码是什么就填写什么,有时候会失败
- function curl($url){
- $ch=curl_init();
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 对认证证书来源的检查
- curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); // 从证书中检查SSL加密算法是
- curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
- $data=curl_exec($ch);
- curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,5);
- curl_setopt($ch,CURLOPT_REFERER,$url);
- curl_close($ch);
- return $data;
- }
- error_reporting(0);
- $url = empty($_GET['url']) ? $_GET['vid'] : $_GET['url'];//这里是获取内容的网址
- $info= curl($url);
- $info = mb_convert_encoding($info, 'utf-8','GBK');//这里是对网页进行转码,推荐使用这个,意思是GBK转utf-8
- preg_match('/开始位置(.*?)结束位置/iUs',$info,$m);//这里是获取内容的位置
- print_r($m[1]);?>
复制代码 |
|