PHPCMS只能采集绝对路径的图片,不能采集相对路径的图片,解决方法
方法一
在采集数据过程中,出现的phpcms采集图片不能显示
原因:phpcms2008 sp3版本在采集过程中图片没有保存到本地,/spider/include/get_remotefiles.func.php 文件get_remotefileurls函数中的src 前的空格导致了图片在采集内容时采集不了。
解决方法,在以上文件中找到
if (!preg_match_all(“/<(?:a|img).+?(href| src)=(["|']?)([^ "'>]+.($ext))2/i”, $string, $matches))
把它改成
if (!preg_match_all(“/<(?:a|img).+?(href|src)=(["|']?)([^ "'>]+.($ext))2/i”, $string, $matches))
方法二
首先,如果已经写好采集规则的朋友,自己先备份一下spider文件夹,这个文件夹地址在网站根目录下(一会我们还要用到里面的东东),没有写采集规则的朋友就不用备份了(建议备份,以备恢复);
第二步:下载修改好的spider文件,解压缩后覆盖原文件;
第三步:将前期备份的spider文件里面的rules文件夹复制到新spider下,替换原文件(这一步也主要针对前期做好采集规则的朋友,因为rules文件夹下包含了你的采集规则);