phpcms无法采集的解决方法

  介绍

phpcms无法采集的解决方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

<强> phpcms无法采集怎么办?

无法采集https的网站内容主要是https不支持file_get_contents获取内容,所以可以考虑采用旋度的方式获取。(需要开启卷发,可以在pathinfo里边查看)

(1)打开phpcms \模块\ \ \ collection.class类集合。php

在类里边添加新函数:

保护静态函数curl_request ($ url) {   如果(! function_exists (& # 39; curl_init& # 39;)) {   抛出新的异常(& # 39;服务器没有安装旋度# 39;);   }   $ ch=curl_init ();   curl_setopt ($ ch CURLOPT_URL $ url);   curl_setopt (ch美元CURLOPT_HEADER 0);   curl_setopt (ch美元CURLOPT_RETURNTRANSFER 1);//禁止调用时就输出获取到的数据   curl_setopt (ch美元CURLOPT_FOLLOWLOCATION 1);   curl_setopt ($ ch CURLOPT_SSL_VERIFYPEER假);   curl_setopt ($ ch CURLOPT_SSL_VERIFYHOST假);   (结果=curl_exec美元ch);   curl_close (ch);   返回结果美元;   }

(2)找到函数函数get_htm把该函数

保护静态函数get_html ($ url和配置美元){   如果(!空($ url),,html=@file_get_contents美元($ url)) {   if ($ syscharset !=$ config [& # 39; sourcecharset& # 39;),,$ config [& # 39; sourcetype& # 39;] !=4) {   (html=iconv美元配置[& # 39;sourcecharset& # 39;],字符集标准# 39;//TRANSLIT//忽略# 39;,html美元);   }   返回html美元;   其他}{   返回错误;   }   }

改成

保护静态函数get_html ($ url和配置美元){   如果(substr(修剪(url)美元0 5)==癶ttps") {   $ html=@self: curl_request ($ url);   其他}{   html=@file_get_contents美元($ url);   }   如果(!空($ url),,$ html) {   if ($ syscharset !=$ config [& # 39; sourcecharset& # 39;),,$ config [& # 39; sourcetype& # 39;] !=4) {   (html=iconv美元配置[& # 39;sourcecharset& # 39;],字符集标准# 39;//TRANSLIT//忽略# 39;,html美元);   }   返回html美元;   其他}{   返回错误;   }   }

然后保存即可获取,测试结果

 phpcms无法采集的解决方法

不知道是否还有其他错误,欢迎留言反馈!

感谢各位的阅读!看完上述内容,你们对phpcms无法采集的解决方法大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注行业资讯频道。

phpcms无法采集的解决方法