前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >火车头采集常用的纯正则过滤

火车头采集常用的纯正则过滤

原创
作者头像
用户10458647
发布2023-04-03 13:33:46
1.5K0
发布2023-04-03 13:33:46
举报
文章被收录于专栏:采集

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

       每一个段落都是<p></p>

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

  提取数据方式

代码语言:javascript
复制
  选择 正则提取,组合结果填 <p>[参数1]</p>

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

  数据处理

  第一步:清除与正文无关的内容,如文中的广告,注释等

  正则 <header>[\s\S]*?</header>|<!--.*?-->| |规则4|规则5 替换为 空

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

  第二步:只保留图片以及常用的块级元素

代码语言:javascript
复制
  正则 (?i)<(?!/?h|/?p|/?div|br|img).*?> 替换为 空

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

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

  正则 <(?!img)(/?)\w+.*?> 替换为 <$1p>

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

  正则 <img.*?src="(.+?)".*?> 替换为 <img src="$1">

  第五步:规范段落标签<p>开始</p>结束

  正则 </?p>替换为</p><p>

  慧聪网段落只有<p>开始没有</p>结束

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

  第六步:把<p>或</p>前后的空格替换为空

  正则 \s*(<\/?p>)\s* 替换为 $1

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

  正则 (<p>){2,}|(</p>){2,} 替换为 $1$2

  第八步:把所有的空段落替换为空

  内容 <p></p> 替换为 空

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

  正则 ^</p>|<p>$ 替换为 空

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档