海纳百客

海纳百客

火车采集器如何过滤掉多余的标签(纯正则替换)

吃瓜阿阳

友情提示点击顶部放大镜 可以使用站内搜索 记住我们的地址 www.hainabaike.com

火车采集器几乎所有网页都能采集,用途很广。比如网站采集内容、采集数据挖掘客户、舆情监测、文件批量下载等。我日常主要用于网站日常采集文章,今天分享下如何通过火车采集器得到一个”标准“的内容。

 

这里所谓的标准,是所采集的文章每一个段落都是<p></p>,没有多余的HTML标签和与主题无关的字符。这里我们可以通过 纯正则替换 达到我们的目的。

 

以下为一些常用的 纯正则替换 规则示例:

 

清除与正文无关的内容

正则<header>[sS]*?</header>|<!--.*?-->| |规则4|规则5 

替换空

如文中的广告,注释等。如果发布到一些免费平台,有的HTML特殊字符并不会被转化,只需在末尾加入'|&.*?;'过滤掉最后特殊HTML字符即可。

 

只保留图片以及常用的块级元素

正则 (?i)<(?!/?h|/?p|/?div|br|img).*?> 

替换空

只保留标题标签 h 分段标签 p、div、br 以及图像标签 img ;前面的(?i)表示不区分大小写

 

把标签修改为p

正则<(?!img)(/?)w+.*?> 

替换<$1p>

去掉除了img标签外的所有标签的选择器或样式,并把标签修改为p

 

改成标准图像代码

正则<img.*?src="(.+?)".*?> 

替换<img src="$1">

把乱七八糟的图像样式,改成标准图像代码

 

规范段落标签

正则</?p>

替换</p><p>

规范段落标签<p>开始</p>结束,某些站个别文章,</p>结束后没有<p>开始就直接是下个段落的内容

 

段落去除前后空格

正则 s*(</?p>)s* 

替换$1

把<p>或</p>前后的空格替换为空

 

去除多余P标签

正则(<p>){2,}|(</p>){2,}

替换$1$2

把连续2个以上的<p>或</p>替换为1个

 

去除空段落

内容<p></p> 

替换空

把所有的空段落替换为空,普通替换即可

 

清理多余标签

正则 ^</p>|<p>$

替换空

由于第五步的关系,文章开头可能是</p>结尾可能是<p>需要清理他们

 

其他可能用到的

过滤英文正则[a-zA-Z]

过滤两位以上的数字(d{2,100})

    标签:

    发布评论 条评论)

    评论列表