php网页抓取乱码问题

[复制链接]
分享到:
发表于 2021-4-23 22:31:57 | 显示全部楼层 |阅读模式
php网页抓取乱码问题
  1. <?php
  2. header("Content-type: text/html; charset=gbk");//第一个办法,添加这行代码,可以解决乱码这个问题,抓取的网页编码是什么就填写什么,有时候会失败
  3. function curl($url){
  4.         $ch=curl_init();
  5.         curl_setopt($ch, CURLOPT_URL, $url);
  6.         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 对认证证书来源的检查
  7.         curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); // 从证书中检查SSL加密算法是      
  8.         curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
  9.         $data=curl_exec($ch);
  10.         curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,5);
  11.         curl_setopt($ch,CURLOPT_REFERER,$url);      
  12.         curl_close($ch);
  13.         return $data;
  14. }
  15. error_reporting(0);
  16. $url = empty($_GET['url']) ? $_GET['vid'] : $_GET['url'];//这里是获取内容的网址
  17. $info= curl($url);
  18. $info = mb_convert_encoding($info, 'utf-8','GBK');//这里是对网页进行转码,推荐使用这个,意思是GBK转utf-8
  19. preg_match('/开始位置(.*?)结束位置/iUs',$info,$m);//这里是获取内容的位置
  20. print_r($m[1]);?>
复制代码

使用高级回帖 (可批量传图、插入视频等)快速回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则   Ctrl + Enter 快速发布  

发帖时请遵守我国法律,网站会将有关你发帖内容、时间以及发帖IP地址等记录保留,只要接到合法请求,即会将信息提供给有关政府机构。
快速回复 返回顶部 返回列表