CMS采集规则编写教程,正则表达式提取内容

很多站长在用CMS搭建内容站时,都会遇到批量导入文章的需求。手动复制粘贴效率太低,用采集工具配合自定义正则表达式,就能把目标页面的标题、正文、图片等字段自动提取出来。这篇教程面向零基础用户,讲清楚采集规则怎么编写、正则表达式如何写、怎么验证提取结果,跟着操作就能完成一套可用的采集规则。 ## 先理清采集规则里的几个核心概念 在动手写正则之前,需要先明白采集工具处理页面的基本流程:**列表页抓取链接 → 进入内容页 → 用正则匹配字段 → 入库到CMS**。 采集规则通常包含三部分: - **列表页规则**:从栏目页提取文章详情页的URL,常用正则或XPath定位 `` 标签。 - **内容页规则**:在详情页里分别提取标题、正文、发布时间、作者等字段。 - **替换与过滤**:去掉广告代码、多余标签、站外链接等。 正则表达式在这里的作用是“按特征定位内容”。比如标题一般在 `

` 里,正文在 `
` 里,用正则把标签之间的文字抠出来即可。 需要提醒的是,采集前应确认目标站点的版权声明和robots协议,仅采集允许转载或自己有权使用的内容,避免法律风险。 ## 准备工作和环境确认 开始前先准备好以下条件: 1. 一个可用的CMS站点,比如织梦、帝国、WordPress,确保数据库连接正常。 2. 安装采集工具,常见的有火车头采集器、蓝天采集器,或CMS自带的采集插件。本文以通用采集器界面为例,具体按钮名称可能略有差异,以你使用的工具实际显示为准。 3. 准备一个目标页面URL,用于测试正则是否匹配成功。 4. 浏览器打开目标页面,按 `F12` 查看源码,找到标题、正文对应的HTML结构。这一步最关键,正则写不对通常是没看清源码特征。 确认源码特征后,把关键片段的HTML复制出来,作为编写正则的参照。 ## 编写正则表达式提取标题与正文 ### 提取文章标题 假设源码中标题结构为: ```html

这里是文章标题

``` 对应的正则写法: ```regex ]*>(.*?)

``` 说明:`[^>]*` 表示h1标签内可能有class等属性,`(.*?)` 是捕获组,非贪婪匹配标签之间的内容。在采集器的“标题”字段里填入这段正则,捕获组选第1组。 ### 提取正文内容 正文通常包裹在 `
` 或 `
` 里: ```html

正文段落一

正文段落二

``` 正则写法: ```regex
([\s\S]*?)
``` 这里用 `[\s\S]*?` 而不是 `.*?`,因为正文里包含换行,`.` 默认不匹配换行符。捕获组选第1组,就能拿到正文HTML。 如果正文外层有多个嵌套div,正则容易提前截断,建议改用更精确的结束特征,例如: ```regex
([\s\S]*?) ``` ### 提取发布时间 源码示例: ```html 2024-05-20 10:30 ``` 正则: ```regex (\d{4}-\d{2}-\d{2} \d{2}:\d{2}) ``` `\d` 匹配数字,`{4}` 表示重复4次,这样能精确匹配日期格式。 ### 列表页URL提取 列表页里文章链接一般长这样: ```html 标题 ``` 正则: ```regex ` 就停止。改用 `[\s\S]*?` 并加上更独特的结束标记,或者用“从开始特征到结束特征”的区间提取模式。 **采集后出现乱码**:目标页面编码可能是GBK,采集器里要把编码设置为GBK或自动识别,入库前统一转成UTF-8。 **图片不显示**:正文里的图片是相对路径,需要在采集规则里开启“图片本地化”或“补全URL”,把 `src="/uploads/..."` 替换为完整域名。 **正则贪婪导致匹配过多**:把 `*` 改成 `*?` 启用非贪婪模式,是解决这类问题最直接的办法。 正则表达式提取内容的核心思路就是“找唯一特征 + 非贪婪捕获 + 精确结束标记”。只要特征选得准,规则稳定性会明显提高。 ## 验证采集结果是否可用 写完规则不要直接批量采集,先做小范围测试: 1. 在采集器里填入一条测试URL,点击“测试采集”或“预览”。 2. 检查标题、正文、时间字段是否完整,有没有多余HTML标签。 3. 把提取结果和原页面内容对比,确认没有漏段或串行。 4. 测试通过后,先采集5到10条,发布到CMS草稿箱,检查排版和图片是否正常。 5. 确认无误后再开启批量采集,并设置合理的采集间隔,避免给目标站造成压力。 如果采集器支持,把规则导出备份,换站点或换模板时方便复用和修改。 ## 几个常见疑问 **正则里的捕获组和替换规则有什么区别?** 捕获组负责“抠出内容”,替换规则负责“清理内容”。比如正文里带广告代码,可以在替换规则里用正则把广告片段删掉,两者配合使用。 **不会写正则怎么办?** 很多采集器内置了可视化提取或XPath模式,点选页面元素就能生成规则。正则适合处理结构不规整的页面,可以先从简单字段练手。 **采集的内容能直接发布吗?** 建议二次编辑,补充内链、调整排版,并确认内容授权。纯采集发布容易产生重复内容,对SEO不利。 掌握CMS采集规则编写和正则表达式提取内容的方法后,批量建站和内容迁移的效率会明显提升。建议先拿一个测试栏目跑通流程,再逐步扩展到全站采集。
分享到:
上一篇
CMS站群服务器选择,多站点IP分配方案
下一篇
CMS模板缓存清理,修改模板不生效解决
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意