“作者采集”通常指两种情况:

- 采集外部网站的文章,并保留或修改其原始作者信息。
- 批量给网站已有的文章设置或修改作者。
下面我将针对这两种情况,提供详细的操作指南。
采集外部网站文章,并处理作者信息
这是最常见的需求,在DedeCMS的采集功能中,作者信息是可以被识别和处理的。
核心思路:
在DedeCMS的采集规则中,你需要找到文章页面上的作者字段,并将其对应到DedeCMS文章模型的author字段。
详细步骤:
第一步:分析目标网页 在设置采集规则之前,先打开你要采集的网站文章页面。

- 按F12 打开浏览器开发者工具。
- 切换到“元素” 或“Elements”标签页。
- 将鼠标移动到文章标题、作者、内容等位置,右键选择“检查”,找到对应的HTML代码。
- 关键点:找到作者信息所在的HTML标签和其
class、id或name等唯一标识。
示例:
假设目标文章页面的作者信息在这样一个标签里:
<span class="author-name">张三</span>
class="author-name"就是我们采集时需要定位的规则。
第二步:创建新的采集节点
- 登录DedeCMS后台。
- 进入 “采集” -> “采集管理”。
- 点击 “增加新节点”。
- 填写节点的基本信息:
- 节点名称:给这个采集任务起个名字,如“某某新闻网”。
- 起始URL:填写一个列表页的地址,比如新闻列表页的第一页。
- 列表规则:设置如何从列表页找到所有文章链接,这通常是XPath或正则表达式,用来匹配
<a>- 保存。
第三步:设置文章内容采集规则(最关键的一步)

- 在节点列表中,找到你刚创建的节点,点击 “修改”。
- 切换到 采集” 标签页。
- 这里需要配置文章标题、作者、内容、栏目等的抓取规则。
设置作者字段:
- 在 “作者” 输入框旁边的 “选择” 按钮上点击。
- 这时会弹出一个窗口,显示当前页面的源代码。
- 在源代码中,手动定位到你之前找到的作者标签(
<span class="author-name">张三</span>)。 - 选中
张三这部分文字,然后点击窗口下方的 “填写” 按钮。 - 系统会自动将XPath或正则表达式规则填入“作者”输入框中,它可能会填入
//span[@class='author-name']。
设置其他字段:
- 用同样的方法设置文章标题、内容、发布时间等字段。
第四步:保存并执行采集
- 所有规则设置完毕后,点击 “保存”。
- 返回到“采集管理”页面,找到你的节点,点击 “开始采集”。
- DedeCMS会自动根据你设定的规则,从列表页抓取文章链接,然后进入每个文章页抓取内容,包括作者信息。
高级技巧:作者信息的处理
采集回来的作者信息可能不符合你的要求,比如你想统一格式,或者想把作者名替换成网站管理员。
使用“发布栏目”功能自动设置作者
在DedeCMS中,每个栏目都可以设置一个默认作者。
- 操作路径:“频道” -> “栏目管理”,选择一个栏目,点击“修改”。
- 在栏目设置中,找到 “默认作者” 字段,填入你希望该栏目下所有文章的默认作者,如“本站编辑”。
- 效果:当你采集文章到这个栏目时,如果文章本身没有作者信息,或者你采集规则里没有抓取作者,DedeCMS会自动使用这个栏目的默认作者。
替换”功能修改作者
如果你想对采集回来的作者名进行批量修改,可以使用内容替换功能。
- 操作路径:“采集” -> “内容替换”。
- 设置:
- :输入你要替换的原始作者名,如“张三”。
- 替换为:输入新的作者名,如“某某网站特邀记者”。
- 作用范围:可以选择对“已采集内容”或“待采集内容”进行替换。
- 注意:这个功能是全局的,会替换整个网站内容中匹配到的字符串,使用时要小心。
使用“自动摘要”或“内容处理”里的“作者处理”
在某些DedeCMS版本或高级采集插件中,你可以在采集规则里直接对作者字段进行处理,
- 截取:只取作者名的前两个字。
- 追加:在作者名后面自动加上“-转载”等后缀。
- 这需要你查阅所用DedeCMS版本的具体文档或插件说明。
批量修改/设置已有文章的作者
如果你是想要给网站已经发布的文章批量设置或修改作者,那么采集功能就不适用了,你需要使用其他方法。
使用SQL命令(最高效,适合大量数据)
警告:操作数据库有风险,请务必先备份你的数据库!
- 登录你的网站数据库管理工具(如phpMyAdmin)。
- 选择你的DedeCMS数据库。
- 点击 “SQL” 选项卡,执行SQL命令。
示例SQL语句:
-
将所有文章的作者设置为“本站编辑”:
UPDATE dede_archives SET author = '本站编辑';
(注意:
dede_是DedeCMS默认的表前缀,如果你的网站修改过,请使用你自己的表前缀。) -
将某个特定栏目(ID为5)下的所有文章作者设置为“栏目小编”:
UPDATE dede_archives SET author = '栏目小编' WHERE typeid = 5;
-
包含“新闻”的文章作者修改为“新闻编辑”:
UPDATE dede_archives SET author = '新闻编辑' WHERE title LIKE '%新闻%';
使用DedeCMS的“内容维护”功能(适合少量修改)
DedeCMS本身没有提供直接的批量修改作者功能,但你可以通过修改文章来间接实现。
- 操作路径:“常用” -> “内容维护” -> “文档列表”。
- 在文档列表页面,你可以按栏目、时间、状态等筛选文章。
- 勾选你想要修改作者的文章,然后点击 “修改”。
- 在批量修改页面,你可以修改这些文章的标题、栏目、属性等,但通常不能直接批量修改作者,这个方法更适合逐个修改,效率不高。
使用第三方插件或工具
网上有一些专门为DedeCMS开发的“批量内容管理”插件,它们通常提供了更强大的批量编辑功能,包括批量修改作者、来源、摘要等,你可以搜索“DedeCMS 批量修改作者插件”来寻找合适的工具。
总结与最佳实践
| 需求场景 | 推荐方法 | 优点 | 缺点 |
|---|---|---|---|
| 采集新文章,保留原作者 | DedeCMS采集功能 | 自动化,效率高,规则灵活 | 需要懂基本的HTML和XPath |
| 采集新文章,使用固定作者 | DedeCMS采集功能 + 栏目默认作者 | 规则统一,管理方便 | 无法处理单个文章的特殊作者 |
| 采集新文章,修改作者名 | DedeCMS采集功能 + 内容替换 | 批量处理,快捷 | 可能误替换,需谨慎 |
| 批量修改已存在文章的作者 | SQL数据库命令 | 速度最快,效率最高 | 有风险,需要备份数据库 |
| 少量修改已存在文章的作者 | 文档列表手动修改 | 直观,安全 | 效率极低,不适合大量数据 |
核心建议:
- 采集时:花时间仔细分析目标网页的HTML结构,设置好采集规则,特别是作者字段的规则,利用好栏目的“默认作者”功能。
- 修改时:对于大量数据,SQL是王道,但备份是前提,对于少量数据,手动修改或使用插件更稳妥。
- 版权意识:采集他人内容时,请务必遵守相关法律法规和网站版权声明,尊重原作者的劳动成果,最好在显著位置注明来源和原作者。
