进入PHPCMS后台“内容→采集管理→采集节点”,创建采集任务并设置列表页与内容页规则,使用正则或XPath提取数据,通过测试验证后批量采集,注意编码、反爬、去重及图片本地化等问题。

PHPCMS的采集功能可以帮助你从其他网站自动抓取内容并发布到自己的站点,适合需要批量获取资讯的场景。使用前需确保目标网站允许采集,避免违反相关法律或协议。
一、如何进入采集功能
登录PHPCMS后台,在菜单中找到“内容” → “采集管理” → “采集节点”,即可开始创建新的采集任务。
主要步骤包括:- 添加一个新的采集节点(如“新闻采集”)
- 填写采集名称、选择模型(如文章模型)
- 设置列表页URL规则
- 编写内容页字段采集规则
- 测试并保存规则
二、采集规则怎么写?
规则本质是通过正则表达式或XPath提取网页中的数据。PHPCMS支持两种方式,推荐新手使用正则匹配,更直观。
1. 列表页规则
立即学习“PHP免费学习笔记(深入)”;
用于提取内容页链接。比如列表页HTML中有如下结构:
新闻标题
可写正则为:
href="([^"]+?\.html)"
在“列表页网址提取规则”中填写此正则,并测试是否能正确提取出所有链接。
2. 内容页字段规则
常见字段及示例:
-
标题:
(.*?)
- 发布时间: 发布时间:(\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2})
-
内容: (.*?)
- 作者: 作者:(.*?)
注意:正则要尽量精确,避免匹配到无关内容。可用非贪婪模式 .*? 提高准确性。
三、如何测试采集规则?
PHPCMS提供“测试规则”按钮,操作流程如下:
- 在编辑节点页面,填写完某一项规则后点击“测试”
- 系统会抓取一个示例页面,显示匹配结果
- 查看是否提取出预期内容,若为空或错乱需调整正则
- 可多次修改并重新测试直到成功
测试时建议先用单个页面验证,确认无误再批量采集。
四、注意事项与技巧
实际使用中容易遇到问题,以下是一些实用建议:
- 目标网站编码要和PHPCMS一致,否则出现乱码(如GBK网站需设置编码为GBK)
- 有些网站有反爬机制,可在采集设置中增加请求间隔(如5秒一次)
- 图片本地化:开启“下载远程图片”选项,避免外链失效
- 避免重复采集:设置去重规则,依据标题或URL判断
- 动态页面处理:若内容由JavaScript加载,PHPCMS无法直接采集,需换源或用其他工具预处理
基本上就这些。规则编写需要一点耐心,多试几次就能掌握规律。关键是找准HTML结构,写出准确的正则表达式。测试通过后再运行批量任务,效率更高也更安全。











