火车采集器html规则,火车头采集器代码过滤方法

为了得到一个标准的内容,在采集上必须下足功夫才行!

我对标准内容的衡量:

1.每一个段落都是

2.没有多余的HTML标签和与主题无关的字符

提取数据方式

选择 正则提取,组合结果填

[参数1]

有些内容开始和结尾并没有p标签,换行是用br标签来完成,所以我们要创造p标签

数据处理

第一步把火车头默认的HTML标签排除中没有的标签都替换为空;如果发布到免费平台,还要过滤些无法转换的HTML特殊字符;另外就是与正文无关的内容,如中间的广告什么的也可在这里清除。

纯正则替换 |||[\s\S]*? 为空

其中'[\s\S]*?'是去除与正文内容无关的规则案例,不用的话可以去掉;要去除HTML特殊字符,在末尾加入'|&.*?;'即可

第二步:把非标准的段落标签替换为标准的p标签。

1、把普通换行替换为段落换行,用内容替换


2、把

形式的标签都替换成

,同时

也要替换为

内容替换 div(*)> 为 p>  内容替换

那么这里我为什么不用纯正则 div.*?>|p.*?> 替换为 p> 呢,因为比较常出现的 '

&nbsp>'

第三步:清理工作

1、HTML标签排除

点击全选,把 '所有标签

2、清理p标签前后的空白字符,如果不清理干净会影响到后面的规则

纯正则替换 \s*()\s* 为 $1

3、删除所有空段落

一般情况下只要设置了 内容替换

当文中出现嵌套标签

如果这组嵌套标签出现在正文中间,这问题不难解决,只要在

){2,}|(){2,} 为 $1$2 这样无论嵌套多少层标签,最终都只剩下一对,之后内容替换

如果出现在文章开头或结尾,那就比较麻烦了。为了照顾非p标签换行的文章,我们在正则提取时已经设置好 组合结果为

[参数1]

,那么一旦出现嵌套标签,会出现如下情况

1、针对采集页的规则,从一开始就把这些嵌套标签替换为空。缺点是不同网站的采集页规则不同,工作量就增强了。

2、进行多次

符合我们的要求。一般设置3次够了,大多数网站的标签不会超过3次嵌套。需要注意的是,采用这种方法就需要把多个p标签替换为1个的正则替换规则往后移。

3、清理多余的p标签,纯正则替换

(

){2,}|(){2,} 为 $1$2

只要连续出现2个以上的

都会替换成一个

4、清理可能出现的标签,并把文中所有连续2个以上的空格过滤掉

纯正则替换 |\s{2,} 为空

p标签和img标签外的所有标签都会被过滤掉,不用担心有杂七杂八的标签出现

为什么要选择2个以上的空格替换为空呢?因为文章中出现一个空格是有利于整洁的,如果包含英文那就更需要留这个空格了,而2个以上的空格一般是多余的,对正文没有意义。

(资源库 www.zyku.net)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值