核心功能:远程采集
这个功能允许你指定一个远程网页的 URL,DedeCMS 会自动抓取该网页的内容,并根据你设定的规则,将标题、内容、图片等提取出来,然后自动发布到你的网站系统中。

(图片来源网络,侵删)
详细操作步骤
第一步:准备工作(非常重要)
在开始采集之前,请务必完成以下设置,否则会失败:
-
开启
allow_url_fopen:- 这是 PHP 的一个核心配置,允许 PHP 通过 URL 访问文件(比如网页),你的服务器必须开启这个功能。
- 如何检查/开启:在你的网站根目录下创建一个名为
phpinfo.php的文件,内容为<?php phpinfo(); ?>,然后在浏览器中访问这个文件。 - 在打开的页面中,按
Ctrl+F搜索allow_url_fopen,如果它的值是On,则已开启;如果是Off,你需要联系你的服务器空间商,让他们帮你修改php.ini配置文件,将allow_url_fopen = Off改为allow_url_fopen = On。
-
确保目标网页可访问:
- 你要采集的网址必须是真实可访问的。
- 一些网站有反爬虫机制,可能会直接拒绝来自脚本的访问,导致采集失败。
-
获取目标网页的编码:
(图片来源网络,侵删)- 很多网页的编码是
UTF-8,但有些是GB2312或GBK,如果你的网站是UTF-8编码,而去采集一个GB2312编码的网页,采集到的内容就会出现乱码。 - 如何获取编码:用浏览器打开目标网页,在空白处点击右键,选择“查看网页源代码”,在源代码的头部找到类似
<meta charset="UTF-8">或<meta http-equiv="Content-Type" content="text/html; charset=gb2312">的语句,记下charset后面的值。
- 很多网页的编码是
第二步:登录 DedeCMS 后台
登录你的 DedeCMS 管理后台。
第三步:进入远程采集模块
在后台左侧的菜单栏中,找到并点击: 采集 -> 远程采集
第四步:创建新的采集任务
进入远程采集页面后,你会看到任务列表,点击右上角的 “增加新采集任务” 按钮。
第五步:填写采集任务信息
这是最关键的一步,你需要根据目标网页的结构来填写以下信息:

(图片来源网络,侵删)
-
基本配置
- 任务名称:给你的采集任务起个名字,方便日后管理,采集XX新闻”。
- 起始网址:在这里输入你想要采集的那个完整的网页地址。
- 列表网址:因为我们只采集单个网页,所以这里可以留空,或者和“起始网址”填成一样的。
- 列表链接:留空。
- 列表命名规则:留空。
- 目标编码:选择或填写你之前查找到的目标网页的编码(如
UTF-8,GB2312等),如果选错,内容会乱码。 - 保存位置:选择采集到的文章要保存到哪个栏目(频道)下。
- 作者:可以设置一个默认作者,或者选择“保留原网址作者”。
- 来源:可以设置一个默认来源,或者选择“保留原网址来源”。
-
采集规则(核心中的核心)
- 文章命名规则:设置采集到的文章标题的命名方式,可以使用
[field:title]等变量。 - 链接:因为我们只采一个页面,所以这里可以留空,或者和“起始网址”一致。
- 选择:这是最关键的一步!
- 你需要回到目标网页,用鼠标选中你想要采集的文章正文部分开始,一直拖动到文章末尾)。
- 选中后,不要复制,而是观察浏览器左下角的状态栏,它会显示类似
id="content"或class="article-content"这样的 HTML 标签和 ID/CLASS 名称。 - 将这个 ID 或 CLASS 名称 填入“文章内容选择”的输入框中。
- 如果是 ID,格式为:
#content - 如果是 CLASS,格式为:
.article-content
- 如果是 ID,格式为:
- 示例:如果选中后,状态栏显示
id="post_body",那么就在这里填入#post_body。
- 文章命名规则:设置采集到的文章标题的命名方式,可以使用
-
采集规则
- 链接:留空。
- 选择:和设置内容规则一样,回到目标网页,用鼠标选中文章标题。
- 的 ID 或 CLASS 名称,填入这里。
- 的
<h1>标签有id="article-title",就填入#article-title。 - 的
<h2>标签有class="main-title",就填入.main-title h2。
- 的
-
文章图片处理
这里可以设置是否下载文章里的图片到你的服务器,以及是否为图片添加水印等,可以根据需要开启。
-
分页采集
如果你要采集的文章有多页(下一页”),你需要在这里设置“下一页”链接的规则,如果是单页,可以忽略此部分。
第六步:测试与保存
填写完所有规则后,不要急着保存,先进行测试:
- 点击页面底部的 “浏览” 或 “测试” 按钮。
- 系统会抓取你设定的起始网址,并按照你填写的规则进行解析。
- 在弹出的预览窗口中,检查和是否正确提取出来了,没有乱码,没有多余的广告等。
- 如果预览效果完美,点击 “保存” 按钮,这个采集任务就创建成功了。
第七步:执行采集
任务创建成功后,你会回到任务列表,找到你刚刚创建的任务,点击右侧的 “开始采集” 按钮。
系统会再次抓取网页并按照规则保存,完成后,你会提示你采集了多少篇文章,你可以去你设置的栏目里查看采集到的文章了。
常见问题与注意事项
-
采集失败或内容为空:
- 原因:通常是“文章内容选择”或“文章标题选择”的规则写错了,请仔细检查目标网页的源代码,确保你填写的 ID 或 CLASS 是正确的。
- 解决:重新测试,修改规则,直到预览正确为止。
-
乱码:
- 原因:“目标编码”设置错误。
- 解决:修改“目标编码”为你网页的正确编码(
UTF-8或GB2312)。
-
采集到很多无关内容(广告、菜单等):
- 原因:你在“文章内容选择”时,选中的区域太大了,包含了正文以外的部分。
- 解决:回到目标网页,更精确地只选中文章正文部分,然后获取其 ID 或 CLASS。
-
网站有登录才能访问:
- DedeCMS 的远程采集功能不支持需要登录才能访问的网页,这种高级需求需要定制开发或使用更专业的爬虫工具。
-
尊重版权和 robots.txt:
- 采集他人内容时,请务必尊重版权,遵守网站的
robots.txt协议,不要对对方服务器造成过大压力,仅供学习和个人使用。
- 采集他人内容时,请务必尊重版权,遵守网站的
通过以上步骤,你应该就能成功使用 DedeCMS 的远程采集功能,通过输入网址来采集单个网页了,祝你成功!
