CMS 采集规则基础设置|自动更新文章实操教学

发布时间:2026-07-18 13:17

很多网站每天都会产生大量优质内容,如果你想搭建一个垂直资讯站或者内容聚合站,手动复制粘贴不仅效率极低,而且很难保证更新频率。利用 CMS 系统自带的采集功能,配合正确的规则设置,就能让网站自动抓取目标网站的文章,实现无人值守的自动更新。下面以最常用的 CMS 系统(如帝国CMS、织梦CMS等通用逻辑)为例,手把手教你完成采集规则的基础设置,并实现自动更新。

## 前言介绍

采集的核心原理是让 CMS 系统模拟浏览器访问目标网页,根据你设定的“规则”找到文章列表、标题、正文、发布时间等元素,然后把这些数据抓取下来,自动发布到你的网站上。整个过程不需要写代码,只需要通过可视化界面配置几个关键参数。这套操作熟练后,一个站点从配置到开始自动更新,通常只需要 10 到 15 分钟。但请注意,采集必须遵守目标网站的 robots 协议和相关法律法规,只用于学习或合法用途,不要用于侵权或恶意竞争。

## 前置准备

在开始配置之前,需要准备好以下环境和资料:

1. **已安装 CMS 系统的网站**:确保你的 CMS 已经正确安装并可以正常登录后台。无论你用的是帝国CMS、织梦CMS、WordPress(配合采集插件)还是其他系统,采集规则的配置逻辑基本一致。本教程以帝国CMS 后台为例,其他系统请对照相应菜单名称操作。

2. **目标网站地址**:确定你要采集的源网站。建议选择结构清晰、内容稳定的网站,避免选择需要登录或频繁反爬的站点。准备一个具体的文章列表页 URL,例如 `https://example.com/news/`,以及一个具体的文章详情页 URL,例如 `https://example.com/news/123.html`。

3. **浏览器开发者工具**:使用 Chrome 或 Edge 浏览器,按 F12 打开开发者工具,切换到“元素”或“检查”面板。这是查看网页 HTML 结构、找到标题和正文所在标签的关键工具。

4. **测试文章**:在目标网站随意打开一篇文章,用于验证你的规则是否准确抓取到了标题、正文和发布时间。

## 分步操作步骤

### 第一步:进入采集管理界面并创建新规则

1. 登录你的 CMS 网站后台。在左侧菜单栏中找到“采集”或“内容采集”相关选项。在帝国CMS 中,路径通常是“栏目” -> “采集节点管理”。在织梦CMS 中,路径是“采集” -> “节点管理”。

2. 点击“添加采集节点”或“新增规则”按钮。系统会打开一个配置表单,这是整个采集的核心设置页面。

3. 在“节点名称”输入框中,给你的规则起一个容易识别的名字,例如“某科技网站新闻采集”。这个名字只用于后台管理,不会显示在前台。

4. “采集目标网址”或“列表页网址”输入框:填入目标网站的文章列表页 URL。例如 `https://example.com/news/`。注意,这里填的是列表页,不是单篇文章页。

5. “目标网站编码”:查看目标网页的编码格式。通常在网页空白处右键 -> “查看网页源代码”,在 `` 标签附近能找到 `` 或 `gbk`、`gb2312` 等字样。选择对应的编码,否则采集到的内容可能会乱码。大多数现代网站都是 UTF-8。

6. “采集频率”或“更新周期”:设置系统每隔多久自动访问一次列表页,检查是否有新文章。新手建议先设为“手动采集”,等规则测试通过后再改为“每隔 30 分钟”或“每小时”。

### 第二步:配置列表页规则(找到所有文章链接)

1. 在规则配置页面,找到“列表页规则”或“文章链接匹配”区域。这里需要告诉系统,列表页中哪些链接是文章详情页的入口。

2. 回到浏览器,打开目标网站的列表页(例如 `https://example.com/news/`)。按 F12 打开开发者工具,点击左上角的“选择元素”图标(一个箭头加方框),然后点击列表页中的任意一篇文章标题。

3. 在开发者工具中,你会看到该标题对应的 HTML 代码被高亮。找到包裹标题的 `` 标签,注意它的 `href` 属性值。例如 `文章标题`。

4. 观察所有文章标题的链接格式是否一致。如果所有链接都以 `/news/` 开头并以 `.html` 结尾,那么链接匹配规则可以写成:`/news/*.html`。星号 `*` 代表任意字符。

5. 在 CMS 的“列表页规则”输入框中,填入这个匹配模式。例如 `https://example.com/news/*.html` 或直接写相对路径 `/news/*.html`。有些系统需要填写完整的正则表达式,但大多数支持通配符 `*`。如果不确定,可以查阅 CMS 的帮助文档。

6. 如果列表页有分页(例如“下一页”或页码 1、2、3),还需要设置“列表分页规则”。找到分页链接的 HTML 结构,通常也是 `` 标签。例如分页链接为 `https://example.com/news/index_2.html`,那么分页规则可以写为 `index_*.html`。如果列表页是滚动加载(无限加载),则需要使用更高级的规则(如 JSON 接口),新手建议先选择带有明确分页的网站练习。

### 第三步:配置内容页规则(抓取标题、正文、时间)

1. 在规则配置页面,找到“内容页规则”区域。这里需要分别设置“标题匹配”、“正文匹配”、“时间匹配”等字段。

2. **配置标题匹配**:在浏览器中打开一篇具体的文章详情页。使用开发者工具(F12)点击文章标题,找到包裹标题的 HTML 标签。例如 `

这里是文章标题

`。在 CMS 的“标题匹配”输入框中,填入 `class="article-title"` 或 `id="article-title"`。有些系统需要填写标签名加属性,例如 `h1[class=article-title]`。更通用的方法是使用标签选择器:如果标题在 `

` 标签内且没有其他干扰,直接填 `h1` 也可以,但不够精准。优先使用 class 或 id 属性。

3. **配置正文匹配**:同样在文章详情页,找到正文内容的容器。通常正文被包裹在 `

` 或 `
` 标签内。使用开发者工具选中正文区域,查看其 class 或 id。在“正文匹配”输入框中,填入 `class="article-content"` 或 `id="article-content"`。注意,有些系统的正文中会包含“上一篇”、“下一篇”或广告代码,如果这些内容也在同一个容器内,后续需要在“过滤规则”中排除。

4. **配置时间匹配**:找到文章发布时间的显示位置。例如 `2025-01-15 10:30`。在“时间匹配”输入框中,填入 `class="publish-time"`。如果目标网站没有明确的时间标签,可以留空,让 CMS 使用采集时间作为发布时间。

5. **配置作者或来源(可选)**:如果目标网站有作者或来源信息,同样通过 class 或 id 匹配。例如 `张三`,在对应输入框填入 `class="author"`。

### 第四步:设置采集过滤与发布参数

1. **过滤规则**:在内容页规则下方,通常有“过滤字符”或“替换字符”功能。例如,你想去掉正文中的“本文来源:XXX”或“更多精彩请关注”等文字。在“过滤字符”输入框中,每行输入一个要过滤的字符串。系统采集到正文后,会自动删除这些内容。

2. **链接处理**:如果目标网站的文章内部链接是相对路径(如 `/news/456.html`),需要设置为“自动补全为绝对链接”,否则采集到你的网站上后,这些链接会指向错误地址。勾选“补全链接”或“转换为绝对地址”选项,并在“网站域名”输入框中填写目标网站的域名(例如 `https://example.com`)。

3. **发布栏目设置**:在“发布到栏目”选项中,选择你网站上的目标栏目。采集到的文章会自动发布到这个栏目下。如果还没有创建栏目,需要先去“栏目管理”新建一个。

4. **重复检测**:勾选“标题重复检测”或“URL重复检测”。这样当系统再次采集时,如果发现相同标题或相同来源 URL 的文章,会自动跳过,避免重复发布。

5. **文章状态**:选择采集后文章的状态。建议选择“待审核”或“草稿”,这样你可以先人工检查一遍采集的质量,确认无误后再批量发布。等规则稳定后,再改为“直接发布”。

### 第五步:测试规则并执行采集

1. 保存你刚才配置的所有规则。回到采集节点管理列表,找到你刚创建的规则,点击“测试”或“采集测试”按钮。

2. 系统会弹出一个测试窗口,让你输入一个具体的文章详情页 URL(例如你之前打开的那篇文章)。点击“开始测试”。

3. 观察测试结果。系统会显示它抓取到的标题、正文、时间等信息。仔细核对:

- **标题**:是否完整,有没有多余的空格或乱码。

- **正文**:是否完整,有没有丢失图片,有没有把网页的导航栏或侧边栏也抓取进来。

- **时间**:格式是否正确。

4. 如果测试结果不理想,回到规则配置页面,调整对应的匹配规则。例如,如果正文抓取到了太多无关内容,说明你选择的容器范围太大,需要换一个更精确的 class 或 id。调整后再次测试,直到结果完美。

5. 测试通过后,点击“开始采集”或“执行采集”按钮。系统会访问你设置的列表页,按照规则找到所有文章链接,然后逐个抓取内容。采集过程中,后台会显示进度条和日志,告诉你已经采集了多少篇、成功了多少篇、失败了多少篇。

6. 采集完成后,去你网站的前台或后台内容管理查看刚采集的文章。检查排版是否正常,图片是否显示。如果有少量文章格式异常,可以手动编辑修复。

### 第六步:开启自动更新

1. 确认手动采集没有问题后,回到采集节点管理列表,点击你规则的“编辑”按钮。

2. 找到“采集频率”或“更新周期”选项。将其从“手动”改为“每隔 30 分钟”或“每隔 1 小时”。具体频率取决于目标网站的内容更新速度和你的服务器资源。更新快的网站可以设短一些,反之设长一些。

3. 有些 CMS 需要配合服务器定时任务(Cron Job)才能实现自动采集。如果你使用的是虚拟主机,可以在主机控制面板中找到“定时任务”功能,添加一条任务,访问 CMS 的采集触发 URL(帝国CMS 的触发 URL 通常是 `/e/class/cron.php` 或类似地址,具体查看 CMS 文档)。

4. 设置完成后,CMS 就会按照你设定的频率,自动检查目标网站是否有新文章,如果有,就自动抓取并发布到你的网站上。你只需要定期登录后台,检查一下采集质量,过滤掉不合适的文章即可。

## 常见问题

**Q1:采集到的文章全是乱码怎么办?**

A:最常见的原因是“目标网站编码”设置错误。检查目标网页源代码中的 `` 标签,确认是 UTF-8 还是 GBK。如果确认设置正确仍然乱码,可以尝试在采集规则中勾选“自动编码转换”选项。

**Q2:采集到的正文只抓取了一部分,或者抓到了很多无关的导航栏、广告?**

A:这是正文匹配规则不够精确导致的。重新用开发者工具检查正文容器,找一个更具体的 class 或 id 属性。例如,不要用 `div[class=content]`,而要用 `div[class=article-content clearfix]`。如果正文容器内确实包含广告,可以在“过滤规则”中添加广告容器的 class 或 id 进行排除。

**Q3:采集到的文章没有图片,或者图片显示为叉号?**

A:通常是因为图片链接是相对路径,没有被补全为绝对链接。检查“链接处理”设置,确保开启了“补全链接”并正确填写了目标网站的域名。另外,有些网站对图片有防盗链保护,需要你在 CMS 的“图片设置”中开启“下载图片到本地”功能,这样图片会被下载到你自己的服务器上。

**Q4:采集时提示“采集失败”或“无法获取内容”?**

A:首先检查目标网站是否可以正常访问。可能网站暂时宕机,或者你的服务器 IP 被对方封禁。其次,检查列表页 URL 是否正确,以及列表页规则是否匹配到了文章链接。如果规则正确但依然失败,可能是目标网站使用了反爬机制(如需要 User-Agent 验证),你可以在 CMS 的采集设置中自定义 User-Agent 和请求头,模拟真实浏览器访问。

**Q5:自动更新没有生效,网站一直没有新文章?**

A:确认你正确设置了采集频率,并且服务器定时任务(如果是必须的)已经配置成功。检查 CMS 的采集日志,看是否有错误记录。另外,目标网站可能在这段时间内没有发布新内容,所以采集结果为空,这是正常现象。

## 收尾总结

通过以上六个步骤,你已经掌握了 CMS 采集规则的基础设置和自动更新方法。核心要点在于:精准定位列表页的文章链接模式,以及精确匹配内容页的标题、正文和时间标签。前期测试阶段一定要耐心,用一篇文章反复验证规则,直到结果完全符合预期。规则稳定后,自动更新功能可以极大地节省你的时间和精力,让你的网站始终保持内容活力。建议从一两个结构简单的目标网站开始练习,熟练后再尝试更复杂的规则。最后再次提醒,合理合法使用采集技术,尊重原创内容版权。