{dede:field.typename/}资讯

探知 • 创造美好

不断超越客户的期望值,源自我们对这个行业的热爱

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

来源:常见问题解疑 - 远策科技 | 4个月前

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


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


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


清除与正文无关的内容

正则<header>[\s\S]*?</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})


多一份参考,总有益处

131-1155-0088 / 159-3167-7513

远策科技,致力于企业品牌建设和推广

微信扫码 或 加 Q 82860137 咨询
在线咨询 稍后再说

131-1155-0088