DedeCms采集没有自动生成摘要和关键字的如何解决办法

柳树舒展开了黄绿嫩叶的枝条,在微微的春风中轻柔地拂动,就像一群群身着绿装的仙女在翩翩起舞。夹在柳树中间的桃树也开出了鲜艳的花朵,绿的柳,红的花,真是美极了!

织梦5.6采集到了内容,可没有自动生成摘要和关键字,关键字和摘要都是空的。

可能很多人都遇到了和我一样的问题,在论坛实在没找到好的解决办法,就自己动手去改改文件。废话不多说了。

下面是我的解决办法

比如我采集了网站:http://www.52iphone8.com

首页的meta代码是:

Copy to Clipboard引用的内容:[www.veryhuo.com]
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>iphone苹果中文网</title> <meta name=description content="苹果iPhone手机中文官网,为您提供苹果iPhone 4代手机最新报价,同时包括苹果iPhone手机图片、苹果iPhone手机参数、苹果iPhone手机主题、苹果iPhone手机软件、苹果iPhone手机游戏、苹果iPhone手机评测行情、苹果iphone视频、苹果iphone铃声、苹果iPhone手机论坛、苹果iPhone手机下载等信息。" /> <meta name=keywords content="苹果手机,iphone,苹果中文网,苹果手机官网,iphone4代,苹果iphone,iPhone手机,苹果手机报价,图片,论坛,游戏,电影,主题,铃声,铃声,下载,软件,应用" />

如果用dedecms的采集的时候就没有办法自动获取description和keywords的值的。 大家注意到了这段代码和其它网站的区别了没?? <meta name=description content=... /> <meta name=keywords content=... /> 就是name="description" 和 name="keywords" 少了双引号"" 这个可能是dedecms中自动分析关键字和摘要的一个bug吧,没有考虑到<meta name=keywords content ='' />这种情况! 采集的选项里面也没有自己填写关键字和摘要的选项。那我只能自己动手修改文件了。 1、修改 include/dedecollection.class.php

Copy to Clipboard引用的内容:[www.veryhuo.com]
//自动分析关键字和摘要 preg_match("/<meta[\s]+name=['\&;]keywords['\&;] content=['\&;](.*)['\&;]/isU",$this->tmpHtml,$inarr); preg_match("/<meta[\s]+content=['\&;](.*)['\&;] name=['\&;]keywords['\&;]/isU",$this->tmpHtml,$inarr2); if(!isset($inarr[1]) && isset($inarr2[1])) { $inarr[1] = $inarr2[1]; }

用下面一段代码替换上面的

Copy to Clipboard引用的内容:[www.veryhuo.com]
//自动分析关键字和摘要
preg_match("/<meta[\s]+name=['\&;]keywords['\&;] content=['\&;](.*)['\&;]/isU",$this->tmpHtml,$inarr); 
preg_match("/<meta[\s]+content=['\&;](.*)['\&;] name=['\&;]keywords['\&;]/isU",$this->tmpHtml,$inarr2); 
preg_match("/<meta[\s]+name=keywords content=['\&;](.*)['\&;]/isU",$this->tmpHtml,$inarr3); 
if(!isset($inarr[1]) && isset($inarr2[1])) 
{ 
$inarr[1] = $inarr2[1]; 
} 
if(!isset($inarr[1]) && isset($inarr3[1])) 
{ 
$inarr[1] = $inarr3[1]; 
} 

改了上面的, 还有另一个地方需要修改的

Copy to ClipboardLiehuo.Net Codes引用的内容:[www.veryhuo.com]
preg_match("/<meta[\s]+name=['\&;]description['\&;] content=['\&;](.*)['\&;]/isU",$this->tmpHtml,$inarr); 
preg_match("/<meta[\s]+content=['\&;](.*)['\&;] name=['\&;]description['\&;]/isU",$this->tmpHtml,$inarr2); 
if(!isset($inarr[1]) && isset($inarr2[1])) 
{ 
$inarr[1] = $inarr2[1]; 
} 

用下面的代码替换掉上面的:

Copy to ClipboardLiehuo.Net Codes引用的内容:[www.veryhuo.com]
preg_match("/<meta[\s]+name=['\&;]description['\&;] content=['\&;](.*)['\&;]/isU",$this->tmpHtml,$inarr); 
preg_match("/<meta[\s]+content=['\&;](.*)['\&;] name=['\&;]description['\&;]/isU",$this->tmpHtml,$inarr2); 
preg_match("/<meta[\s]+name=description content=['\&;](.*)['\&;]/isU",$this->tmpHtml,$inarr3); 
if(!isset($inarr[1]) && isset($inarr2[1])) 
{ 
$inarr[1] = $inarr2[1]; 
} 
if(!isset($inarr[1]) && isset($inarr3[1])) 
{ 
$inarr[1] = $inarr3[1]; 
} 

到此这篇关于DedeCms采集没有自动生成摘要和关键字的如何解决办法就介绍到这了。有一次,我还想给你的红袖子增加香味,和你闲聊新单词,和你一起醉卧在花房里,陪你完成世界上最美丽的依赖。带着执着,轻看痴痴的束缚不要相信,永恒是有尽头的。那时,当我年轻的时候,我被眼前美丽的风景迷住了,不愿意接受现实的励志语录知乎残酷。没关系,你的笑容是蘸了蜂蜜的毒药。我无处可逃。更多相关DedeCms采集没有自动生成摘要和关键字的如何解决办法内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
织梦后台文档列表添加复制文档功能支持所有模型

织梦无法上传ico图标格式文件的如何解决方法

dedecms如何实现任意页面调用当前会员信息的方

织梦dede:tag调用指定多个栏目的TAG标签

织梦栏目列表按附加表自定义字段排序