DedeCMS 文章采集全教程
什么是采集?采集前需要准备什么?
什么是采集? 采集,简单来说就是利用程序自动抓取其他网站(目标网站)的内容,并按照你设定的规则,提取文章标题、内容、标签、作者等信息,然后自动发布到你自己的 Dedecms 网站上,这可以极大地提高网站内容更新的效率。
采集前准备:
- 一个已安装并可以正常访问的 Dedecms 网站。
- 明确你的采集目标: 你想采集哪个网站?最好是与你网站主题相关的网站。
- 分析目标网站: 这是最关键的一步!你需要用浏览器打开目标网站,分析其文章页面的 HTML 代码结构,找出:
- 文章列表页 URL: 包含所有文章链接的页面。
- 文章详情页 URL: 单篇文章的页面。
- 的 HTML 标签:
<h1 class="title">...</h1>或<span id="post-title">...</span>。 - 的 HTML 标签:
<div class="article-content">...</div>或<div id="main-body">...</div>。 - 发布时间的 HTML 标签:
<span class="date">...</span>。 - 来源/作者的 HTML 标签:
<span class="source">...</span>。 - 分页规则: 如果文章有多页,分页链接是如何生成的。
Dedecms 采集功能入口
登录你的 Dedecms 后台,在左侧菜单栏找到:
采集 -> 网站采集
点击进入,你将看到采集管理的主界面。
采集详细步骤(手把手教学)
我们以采集一个虚构的网站 example.com 的文章为例。
创建“远程目录”
“远程目录”是用来管理你采集任务分类的,就像电脑里的文件夹。
- 在“网站采集”页面,点击右上角的
增加远程目录。 - 目录名称: 填写一个你容易识别的名字,行业资讯”、“科技博客”等。
- 目录路径: 这个是文章发布到你网站后存放的栏目目录。非常重要! 你需要提前在 Dedecms 后台的
栏目管理中创建好对应的栏目,然后在这里选择它。 - 保存。
你的左侧列表中就会出现这个新建的“远程目录”。
创建“采集节点”
“采集节点”是具体执行采集任务的配置,它定义了从哪里采、采什么。
-
点击你刚刚创建的“远程目录”(行业资讯”)。
-
点击右上角的
增加采集节点。 -
节点名称: 给这个任务起个名字,采集某某科技博客”。
-
目标网站: 输入你想要采集的网站域名,如
https://www.example.com。 -
列表规则(最关键的一步):
- 列表页网址: 输入包含文章列表的页面 URL。
https://www.example.com/news/list_{page}.html,这里的{page}是分页的占位符,Dede 会自动替换成页码。 - 开始: 在右侧的代码预览框中,用鼠标拖动选中文章列表区域的开始部分(
<ul class="news-list">)。 - 结束: 同样,选中文章列表区域的结束部分(
</ul>)。 - 分页代码: 用鼠标选中“下一页”或页码的链接(
<a href="/news/list_2.html">下一页</a>)。 - 文章链接: 用鼠标选中列表中每篇文章标题的链接(
<a href="/news/123.html">文章标题</a>)。 - 保存。 Dede 会尝试获取列表页,并预览出它找到的文章链接,如果能看到链接,说明列表规则基本正确。
- 列表页网址: 输入包含文章列表的页面 URL。
-
文章规则(核心中的核心):
- 点击
文章规则标签页。 - 目标网址: 这里会自动填充从列表规则中提取到的文章链接地址,通常不需要修改。
- 采集字段: 这里是定义文章内容的地方,你需要逐个添加字段。
- 字段名:
title - 代码:在右侧代码预览框中,用鼠标双击的 HTML 标签(
<h1>),Dede 会自动填充代码,如{dede:field.title/}或自定义的<span id="title">...</span>。
- 字段名:
- 字段名:
body - 代码:用鼠标双击文章正文内容的开始标签(
<div class="content">)和结束标签(</div>),Dede 会自动识别并填充代码。
- 字段名:
- 发布时间:
- 字段名:
pubdate - 代码:用鼠标双击文章发布时间的标签。
- 字段名:
- 来源/作者:
- 字段名:
source或writer - 代码:用鼠标双击来源或作者的标签。
- 字段名:
- 缩略图:
- 字段名:
litpic - 代码:用鼠标双击文章中图片的
<img>标签,如果图片是外链,Dede 会自动下载并上传到你网站。
- 字段名:
- Tags (标签):
- 字段名:
tags - 代码:用鼠标双击存放标签的容器,
<div class="tags">...</div>,多个标签通常用逗号或空格隔开。
- 字段名:
- 过滤: 在
过滤标签页,你可以设置一些规则来清理内容,比如移除目标网站的版权信息、特定广告等,可以使用正则表达式,但初学者可以先不设置。 - 保存。
- 点击
测试采集节点
在保存了采集节点后,回到“网站采集”主界面,找到你刚创建的节点,点击后面的 测试 按钮。
- Dede 会随机从列表中抓取一篇文章来测试。
- 查看测试结果,如果标题、内容、图片等都正确显示,说明你的规则设置成功了!如果显示不正确,返回
文章规则标签页,检查代码是否选对,然后再次测试,直到成功。
执行采集
测试成功后,就可以开始正式采集了。
- 在节点列表中,勾选你要采集的节点。
- 点击
开始采集按钮。 - 选择采集方式:
- 只采集列表页(获取链接): 只获取文章链接,不下载内容,适合先收集大量链接,稍后再处理。
- 采集并保存: 直接获取文章内容并保存到你的网站,这是最常用的方式。
- 起始页码和结束页码: 设置你想要采集的页码范围,建议先从第1页开始,采集几页测试一下,没问题再增加页码。
- 点击
开始执行。 - 现在就等着吧!Dede 会自动打开列表页,找到文章链接,然后逐个打开文章页,解析内容,并发布到你指定的栏目,这个过程可能会比较慢,取决于文章数量和服务器性能。
查看采集结果
采集完成后,你可以:
- 在后台查看:
采集->采集结果,可以查看已采集、失败的任务。 - 在前台查看: 去你发布文章的栏目,看看文章是否成功显示,图片是否正常。
重要注意事项与高级技巧
-
版权问题:
- 强烈建议:采集仅用于个人学习、研究或测试,商业网站使用他人原创内容可能涉及法律风险。
- 尊重原创:采集后,最好对文章进行适当的修改、润色或补充,使其成为你自己的内容,这既是对原创作者的尊重,也有利于网站的 SEO。
-
采集频率:
不要设置过高的采集频率,短时间内大量请求目标网站,可能会被对方服务器屏蔽 IP,甚至被搜索引擎判定为恶意行为,影响你自己的网站权重。
-
内容去重:
- 大量采集雷同内容,网站很容易被搜索引擎判定为“垃圾站”,导致降权。
- Dede 自带去重: 在采集节点设置中,可以勾选“内容去重”选项,它会根据文章标题或内容 MD5 值判断是否重复。
- 人工去重: 最有效的方法是采集后,人工挑选并修改内容。
-
高级技巧:自定义发布规则
- 在
文章规则中,你可以使用一些变量来自动生成内容。 - 你可以用
{field.source}来获取文章来源,然后自定义发布到不同的栏目,或者用正则表达式从内容中提取特定信息。
- 在
-
使用浏览器插件辅助分析
在分析目标网站时,可以使用浏览器的“开发者工具”(按 F12),或者安装如 “SelectorGadget” 这样的浏览器插件,它们能帮你更快速、更准确地找到 HTML 标签的 CSS 选择器,大大提高设置规则的效率。
常见问题与解决方法
-
问题1:采集后文章内容为空或乱码。
- 原因: 目标网站使用了编码(如 UTF-8),而你的 Dedecms 是 GBK 编码,或者反之,文章规则的 HTML 标签选择错误。
- 解决: 检查 Dedecms 后台
系统->系统基本参数->核心设置中的GB2312或UTF-8编码,确保目标网站的编码与你的网站编码一致,重新检查文章内容的 HTML 标签是否选对。
-
问题2:采集不到任何文章链接。
- 原因: 列表规则设置错误,或者目标网站有反爬虫机制。
- 解决: 仔细检查列表页的 HTML 结构,确保“列表内容开始/结束”和“文章链接”的选择是准确的,尝试更换一个目标网站测试。
-
问题3:图片无法显示或无法上传。
- 原因: 图片路径是相对路径,Dede 无法找到,或者没有开启自动远程图片本地化功能。
- 解决: 确保采集规则中图片的 URL 是完整的(以
http或https开头),在 Dedecms 后台系统->系统基本参数->附件设置中,确保远程站点资源下载开关是开启的。
-
问题4:采集速度非常慢。
- 原因: 服务器性能差,或者目标网站响应慢。
- 解决: 可以尝试分批采集,比如一次只采集10页,如果服务器性能允许,可以开启“并发采集”(在高级设置中),但请注意不要对目标网站造成过大压力。
希望这份详细的教程能帮助你掌握 Dedecms 的采集功能!祝你使用愉快!
