第一步:创建自定义内容模型
在开始采集之前,你必须先创建一个内容模型,这个模型定义了你的文章将包含哪些字段,品牌”、“型号”、“价格”、“规格”等。
-
登录后台:使用管理员账号登录你的DedeCMS后台。
-
进入模型管理:
- 在左侧菜单栏中,找到 “核心” -> 模型管理”。
- 点击进入后,你会看到系统默认的几个模型,如“文章”、“图集”、“软件”等。
-
添加新模型:
- 点击页面右上角的 模型” 按钮。
- 在弹出的表单中填写信息:
- 模型名称:给你的模型起一个名字,产品评测”。
- 模型表前缀:系统会自动生成,如
dede_addonproduct,通常无需修改。 - 模型标识:一个唯一的英文或数字标识,例如
product,这个标识在后续调用和开发中会用到。 - 简介:简单描述一下这个模型是做什么的。
- 字段允许为空:建议勾选,这样在发布内容时,非必填字段可以留空。
- 列表按ID排序:按文章ID排序。
- 内容视图:选择“仅文字”,如果你的模型包含图片,可以选择“图文”。
- 默认栏目:选择一个默认的栏目,新采集的文章会默认发布到这个栏目。
- 填写完毕后,点击 “确定” 保存。
-
添加自定义字段:
- 模型创建成功后,返回 模型管理” 列表,找到你刚刚创建的“产品评测”模型,点击右侧的 “字段管理”。
- 在字段管理页面,点击 “添加新字段”。
- 字段信息填写:
- 字段名称:字段的显示名称,如“产品品牌”。
- 字段标识:字段的唯一标识,如
pinpai。注意:只能使用英文、数字或下划线。 - 字段类型选择,如“单行文本”、“多行文本(textarea)”、“数字”、“下拉框”等,对于“品牌”,如果品牌是固定的,可以选择“下拉框”并预设选项;如果不确定,选择“单行文本”。
- 字段长度:文本类型的输入框长度。
- 默认值:可选,为该字段设置一个默认值。
- 是否为空:如果此字段是必填的,选择“否”。
- 是否显示在发布页:选择“是”,这样在后台发布文章时就能看到这个字段。
- 是否显示在列表页:选择“是”,这样在文章列表页就能显示这个字段。
- 调用:选择“是”,这样你就可以在模板文件中通过
{field:pinpai/}来调用这个字段的值。
- 重复此步骤,为你需要的所有字段(如“型号”、“价格”、“评分”等)逐一添加。
- 所有字段添加完毕后,点击页面底部的 “保存” 按钮。
至此,你的自定义内容模型和字段已经准备就绪。
第二步:为自定义模型配置采集规则
你需要创建一个采集规则,专门用来抓取你刚刚定义的“产品评测”模型的数据。
-
进入采集节点管理:
- 在后台左侧菜单栏中,找到 “采集” -> “采集管理” -> “增加新节点”。
-
配置节点基本信息:
- 节点名称:给你的采集规则起个名字,如“中关村产品评测”。
- 所属栏目:选择你之前为这个模型创建的栏目(或一个包含该模型的栏目)。
- 保存位置:选择一个用于存放采集到的图片等资源的目录。
- 模型选择:这是最关键的一步! 在“选择内容模型”的下拉菜单中,务必选择你刚刚创建的“产品评测”模型。
- 其他选项(如是否启用、是否定时等)根据需要设置。
-
配置采集列表:
- 点击 “下一步”,进入“采集列表”配置页面。
- 列表网址规则:填写目标网站的列表页URL,这里可以使用通配符 来匹配页码。
http://www.zol.com.cn/pingce/list_*_1.html。 - 列表起始页:
1。 - 列表结束页:
10。 - 链接:这是用来从列表页中提取文章链接的规则,点击旁边的“测试”按钮,在弹出的窗口中,用鼠标在列表页中选择一篇文章的标题链接,系统会自动抓取规则,你也可以手动填写,如:
<a href='[field:link/]'>。 - 点击 “保存并继续下一步”。
-
配置采集内容(核心步骤):
- 进入“”页面,这里你需要为每一个字段配置抓取规则。
- :点击“选择范围”,然后在目标文章页中选择标题文字,系统会自动填充规则。
- :同样,点击“选择范围”,选择文章正文内容。
- 发布时间:选择时间。
- 缩略图:选择文章中的图片作为缩略图。
- 来源:选择来源。
- 作者:选择作者。
- 自定义字段:这是与自定义模型匹配的关键!
- 在页面下方,你会看到一个下拉框,里面列出了你在“产品评测”模型中创建的所有自定义字段(如“pinpai”, “xinghao”, “jiage”)。
- 选择一个字段,pinpai (产品品牌)”。
- 在旁边的输入框中,点击“选择范围”,然后到目标网页上找到“产品品牌”对应的信息并选中,系统会自动生成抓取规则。
- 对每一个自定义字段重复此操作。
-
保存并开始采集:
- 所有字段规则配置完毕后,点击页面底部的 “保存” 按钮。
- 返回到“采集节点管理”列表,找到你刚刚创建的节点,点击右侧的 “开始采集”。
常见问题与注意事项
-
规则抓取不到内容怎么办?
- 检查选择范围:有时候目标网站的HTML结构比较复杂,或者被JavaScript动态加载,导致“选择范围”功能失效,这时需要你手动分析网页HTML源码,找到包含内容的标签,然后手动编写规则,如果品牌信息在
<div class="brand">苹果</div>中,规则就可以写成class='brand'(.*)。 - 使用正则表达式:对于复杂的结构,可以使用正则表达式来匹配,DedeCMS的采集规则支持简单的正则表达式。
- 清除缓存:有时候是浏览器缓存问题,尝试清除浏览器缓存后重试。
- 检查选择范围:有时候目标网站的HTML结构比较复杂,或者被JavaScript动态加载,导致“选择范围”功能失效,这时需要你手动分析网页HTML源码,找到包含内容的标签,然后手动编写规则,如果品牌信息在
-
采集后自定义字段没有数据?
- 检查模型匹配:再次确认在创建采集节点时,选择的模型是正确的。
- 检查字段规则:检查自定义字段的抓取规则是否正确填写,是否与网页上的内容对应。
- 检查字段标识:确保采集规则中填写的字段标识(如
pinpai)和你在模型中定义的字段标识完全一致,区分大小写。
-
性能问题:
- 采集会占用大量服务器资源,特别是采集大量文章时,建议在服务器负载较低的时候进行采集,或者使用DedeCMS自带的“远程采集”功能,它可以在本地完成大部分工作,减轻服务器压力。
-
尊重版权:
采集他人网站内容时,请务必遵守相关法律法规和网站的robots.txt协议,仅用于个人学习或研究,切勿用于商业用途,以免引起法律纠纷。
通过以上步骤,你就可以成功地为DedeCMS的自定义内容模型配置采集规则了,这个过程虽然需要一些耐心,但一旦配置好,就能大大提高内容更新的效率。
