DedeCMS 图片采集完整教程
DedeCMS 的采集功能非常强大,但规则设置相对复杂,本教程将以图文并茂的方式,为你拆解每一步,让你轻松上手。

(图片来源网络,侵删)
第一步:准备工作(至关重要)
在开始采集之前,请务必做好以下准备工作,这能避免你后续遇到大量麻烦。
-
确保服务器环境支持
- PHP 环境:需要开启
allow_url_fopen和curl扩展,绝大多数虚拟主机或服务器都默认开启,但需要确认。 - 目录权限:确保
data目录和uploads目录(或你设置的所有附件目录)具有 777 或 755 的可写权限,这是采集的图片和附件能够成功保存的基础。
- PHP 环境:需要开启
-
创建目标栏目
采集到的文章需要发布到网站的某个栏目下,请提前在后台“栏目管理”中创建好一个或多个目标栏目,创建一个名为“图集欣赏”的栏目,并选择好“栏目列表选项”(如是否生成列表页等)。
(图片来源网络,侵删) -
分析目标网站
- 找到列表页:确定你要采集的网站列表页 URL,一个图片列表页的网址可能是
https://example.com/gallery/page/1。 - 找到文章页:从列表页点击任意一篇文章,进入其详情页,分析其 URL 结构。
https://example.com/gallery/123.html。 - 找到图片地址:在文章详情页,使用浏览器开发者工具(按 F12)查看图片的
<img>标签,找到图片的真实地址(URL),注意区分是相对路径还是绝对路径。
- 找到列表页:确定你要采集的网站列表页 URL,一个图片列表页的网址可能是
第二步:创建并配置采集节点
这是采集的核心步骤。
-
进入采集管理
- 登录 DedeCMS 后台,点击顶部菜单的 “采集” -> “一键采集”。
-
添加新节点
(图片来源网络,侵删)- 在“一键采集”页面,点击右上角的 “增加采集节点” 按钮。
- 填写节点基本信息:
- 节点名称:给你的采集任务起个名字,方便识别,如“花瓣网图集”。
- 起始URL:粘贴你准备好的列表页地址。
- 列表命名规则:这是采集到的文章在后台显示的标题,可以使用
{listtitle}(列表页标题)或{title}(文章页标题),通常使用{title}更准确。 - 目标目录:选择你提前创建好的目标栏目。
- 作者:可以写死一个作者名(如“佚名”),也可以使用
{author}标签从目标网站抓取。 - 来源:可以写死网站名称(如“花瓣网”),也可以使用
{source}- 发布时间:通常使用
{pubdate}或{senddate}从目标网站抓取,或者选择“发布时使用”当前时间。- Tag标签:可以留空,或者使用
{tag}标签抓取。 - 发布时间:通常使用
- 填写完毕后,点击 “开始采集”。
-
测试并获取文章链接
- DedeCMS 会自动分析你填写的列表页,并尝试从中提取文章链接。
- 在下方的“文章列表”区域,你会看到解析出的文章标题和链接。
- 手动验证:点击“获取”按钮,系统会抓取几篇文章进行测试,检查抓取到的文章链接是否正确。
- 点击“保存”:如果链接解析正确,点击页面底部的 “保存” 按钮,节点创建成功,但采集规则还未配置完整。
第三步:配置高级采集规则(关键步骤)
这是决定采集成败和质量的最重要的一步,你需要点击刚刚创建的节点,进入详细配置页面。
-
进入节点详情
- 返回“一键采集”主界面,你刚刚创建的节点会出现在列表中,点击该节点右侧的 “修改” 或 “选择” 按钮,进入高级规则设置页面。
-
设置列表规则
- 在“列表规则”标签页,系统已经自动填充了部分内容,你需要手动调整和确认。
- 文章列表起始链接:确认是你的列表页 URL。
- 文章链接:这是最关键的规则之一,它告诉 DedeCMS 如何从列表页中找到文章的 URL。
- 选择匹配:通常选择“使用正则表达式”。
- 填写正则:在列表页源码中,找到文章链接的共同规律,所有文章链接都包含
/article/且以.html- 示例正则:
<a href="([^"]*\.html)"[^>]*>([^<]*)</a>,这个正则表示:查找所有<a>标签,并捕获其href属性值(以.html和标签内的文本(即文章标题)。- 点击“测试”:输入一个列表页 URL,点击“测试”,看下方是否能成功提取出文章链接,如果提取出的是一堆代码,说明正则表达式有误,需要反复调试。
- 示例正则:
-
规则
- 切换到“内容规则”标签页,这里是配置如何从文章详情页抓取正文内容。
- 目标网址:系统会自动使用上一步获取的文章链接。
- :
- 匹配方式:选择“使用正则表达式”。
- 填写正则:在目标文章页源码中,找到
<title>标签,如果标题是<title>这是一个美丽的图片 - 网站名称</title>,正则可以写成:<title>([^<]*?) - 网站名称</title>。([^<]*?)是一个非贪婪匹配,会捕获“这是一个美丽的图片”。
- :
- 匹配方式:选择“使用选择器”或“使用正则表达式”。强烈推荐使用选择器,因为它更稳定。
- 如何获取选择器:
- 在浏览器中打开目标文章页。
- 右键点击正文区域的任意一张图片,选择“检查”。
- 在开发者工具中,找到包含所有图片的那个
<div>或<article>- 右键点击该标签,选择 Copy -> Copy selector。
- 将复制的选择器粘贴到 DedeCMS 的“内容选择器”输入框中,可能是
.post-content或div.article-body。
- :
- 只采集包含指定关键字的列表:可以留空。
- :勾选此项,可以排除掉不需要抓取的部分,如页脚、广告、评论区等,你可以填写多个选择器,用英文逗号隔开。
.footer, .ads, .comment。 - :可以写一些要过滤掉的 HTML 标签或文字,如
<script>,<iframe>, “广告”等。
-
设置图片规则(本教程核心)
- 切换到“图片规则”标签页,配置如何处理正文中的图片。
- 是否采集图片:务必勾选此项!
- 图片本地化:务必勾选此项! 这是将远程图片保存到你自己服务器的关键。
- 图片保存目录:设置图片保存的相对路径。
uploads/images/,DedeCMS 会自动在uploads目录下创建子目录。 - 图片标签:告诉 DedeCMS 正文中的
<img>标签在哪里。强烈建议使用“选择器”,填写你在“内容规则”中找到的那个正文区域的选择器(.post-content),这样 DedeCMS 就只会在正文区域内查找图片,而不会去采集页头、页脚的图片。 - 图片替换规则:
- 替换远程图片地址:勾选此项,DedeCMS 会将
<img>标签里的src属性值替换为你本地服务器上的图片地址。 - 缩略图处理:勾选此项,可以设置生成缩略图,你可以设置缩略图的宽度和高度(200x150),系统会自动裁剪并生成缩略图。
- 替换远程图片地址:勾选此项,DedeCMS 会将
- 图片命名规则:设置本地图片的文件名,可以使用
{随机字符串}、{时间戳}等,避免重名。{rand:6}表示生成6位随机字符。
第四步:执行采集与后续处理
所有规则配置完毕后,就可以开始正式采集了。
-
保存所有规则
- 在高级规则设置页面,检查所有配置无误后,点击底部的 “保存” 按钮。
-
开始采集
- 返回“一键采集”主界面,点击你配置好的节点右侧的 “开始采集” 按钮。
- 系统会开始逐页抓取列表,然后进入每个文章页抓取内容和图片,这个过程可能需要一些时间,请耐心等待。
- 你可以在“任务日志”中查看采集进度和是否有错误。
-
检查采集结果
- 采集完成后,进入后台的 管理” -> “文档列表”。
- 在你设定的目标栏目下,查看是否成功发布了文章。
- 点击文章标题进入编辑,检查:
- 是否正确。
- :格式是否错乱,文字是否完整。
- 图片:是否已经成功上传到你的服务器,
<img>标签的src是否指向本地地址(而不是远程地址)。右键图片 -> 新标签页打开,如果能打开你服务器上的图片,就说明成功了。
常见问题与解决方法
-
Q1: 采集失败,提示“权限不足”或“无法写入文件”?
- A1: 检查
data和uploads目录的权限是否为 777,这是最常见的原因。
- A1: 检查
-
Q2: 图片无法采集,或者采集后显示为空白/叉号?
- A2:
- 检查“图片规则”中的“图片标签(选择器)”是否正确,是否指向了正文区域。
- 检查目标网站的图片是否使用了防盗链,如果使用了,你需要开启 DedeCMS 的“远程图片本地化”功能,并且确保你的服务器支持
curl。 - 检查“图片保存目录”是否存在且可写。
- A2:
-
Q3: 正则表达式总是匹配不到内容?
- A3: 正则表达式是难点,多使用浏览器开发者工具查看源码,观察规律,可以尝试使用更简单的正则,或者分步测试,也可以在网上搜索一些常见的正则表达式模板进行修改。
-
Q4: 采集到的文章内容格式很乱?
- A4: 在“内容规则”中,勾选“”,将不需要的标签(如
<script>,<style>)和干扰文字(如“广告”、“相关推荐”)添加进去。
- A4: 在“内容规则”中,勾选“”,将不需要的标签(如
-
Q5: 如何批量采集多个列表页?
- A5: 在“列表规则”中,你可以设置“列表分页”,如果列表页的 URL 是
page/1,page/2,page/3... 你可以设置分页规则为page/{page},并设置起始页和结束页,DedeCMS 会自动遍历所有页面进行采集。
- A5: 在“列表规则”中,你可以设置“列表分页”,如果列表页的 URL 是
DedeCMS 图片采集是一个“分析-配置-测试-执行”的循环过程,耐心是关键,多花时间在分析目标网站和调试规则上,尤其是正则表达式和CSS选择器,一旦配置成功,后续的采集工作就会非常顺利,希望这份教程能帮助你成功采集到想要的图片内容!
