DedeCMS 5.6 是一个非常经典的内容管理系统,其 book 接口通常用于生成电子书、专题合集或文章列表,这个接口的核心特点是 通过 URL 传递参数 来动态获取内容。

第一步:理解 DedeCMS 5.6 的 book 接口原理
在开始采集之前,我们必须先搞清楚目标网站 book 接口的 URL 结构,它通常长这个样子:
http://www.your-target-website.com/book.php?list=栏目ID&cid=分类ID
或者更简单一些:
http://www.your-target-website.com/book.php?tid=栏目ID

我们来分解一下这些参数:
book.php: 这是处理书籍/列表请求的脚本文件,这是火车头需要采集的“列表页”。list/tid: 这是最核心的参数,代表你想要采集的栏目ID,如果你想采集“小说”栏目的所有文章,你就需要找到“小说”这个栏目在后台的ID。cid: 这个参数代表分类ID,一个栏目下可以有多个分类,通过这个参数可以筛选特定分类下的内容,如果不需要,可以不传。
如何找到栏目ID?
最简单的方法是:在 DedeCMS 后台,将鼠标悬停在“内容管理” -> “栏目管理”的某个栏目上,浏览器状态栏会显示类似 catalog_do.php?dopost=edit&cid=XX 的链接,其中的 XX 就是该栏目的 ID。
第二步:在火车头中创建和配置采集任务
假设我们要采集一个小说网站,其 book 接口为 http://www.example.com/book.php?tid=1(ID为1的“玄幻小说”栏目)。
创建新任务
打开火车头采集器,点击“新建任务”,给任务起一个名字,DedeCMS小说采集”。

配置“登录”模块(如果需要)
如果目标网站需要登录才能查看内容,请先配置好登录模块,大部分公开的 book 接口是不需要登录的,此步可跳过。
配置“网址列表”模块
这是最关键的一步,我们需要让火车头知道去哪里抓取文章列表。
-
网址来源:选择“自定义网址”
-
网址列表:在这里输入我们分析出的
book接口 URL。- 单网址:
http://www.example.com/book.php?tid=1 - 批量网址:如果你想采集多个栏目,可以分多行写,每行一个 URL:
http://www.example.com/book.php?tid=1 http://www.example.com/book.php?tid=2 http://www.example.com/book.php?tid=3
- 单网址:
-
网址处理:选择“翻页处理”,因为
book接口通常是通过页码来分页的,URL 可能会是...tid=1&page=2这种形式。 -
配置翻页规则:
- 翻页网址:
[page],这是火车头内置的变量,代表页码。 - 起始页码:
1 - 终止页码:
100(根据实际情况填写一个足够大的数字) - 翻页标签:打开目标网站的列表页,查看分页区域的 HTML 代码,找到包含“下一页”的
<a>标签,观察其href属性。- 常见情况1:
<a href='book.php?tid=1&page=2'>下一页</a>- 下一页网址:
book.php?tid=1&page=[page]
- 下一页网址:
- 常见情况2:
<a href='/book.php?tid=1&page=2'>下一页</a>(相对路径)- 下一页网址:
/book.php?tid=1&page=[page]
- 下一页网址:
- 常见情况3:JS分页,
<a href="javascript:gotopage(2)">下一页</a>- 这种情况比较麻烦,火车头可能无法直接识别,你需要检查这个 JS 函数
gotopage是否修改了 URL 的page参数,或者是否有隐藏的<input type="hidden" name="page" value="1">这样的输入框,JS 分页非常复杂,火车头采集可能会很困难,甚至无法实现。
- 这种情况比较麻烦,火车头可能无法直接识别,你需要检查这个 JS 函数
- 常见情况1:
- 翻页网址:
采集”模块
我们需要告诉火车头如何从列表页中提取文章的真实链接,以及如何从文章页中提取标题、内容等信息。
1 提取文章链接
- 采集网址:选择“从列表页中提取链接”
- 文章链接规则:
- 在火车头的预览窗口中打开一个列表页。
- 在右侧的“选择”下拉菜单中,选择“链接”。
- 用鼠标在文章标题上点击一下,火车头会自动填充链接规则。
- 检查并修正:DedeCMS 的链接规则通常是
<a href='view.php?aid=12345'>,你需要将这个规则修正为能匹配所有文章的通配符形式。- 自动生成的可能是:
view.php?aid=12345 - 你需要修改为:
view.php?aid=*或者更精确的view.php?aid=[0-9]+(匹配数字) - 如果链接是相对路径,如
<a href='/view.php?aid=12345'>,则规则应为:/view.php?aid=*
- 自动生成的可能是:
2 提取文章内容
- 切换到“文章内容”标签页。
- 采集网址:选择“从文章列表中打开”
- 字段采集:这里我们为文章的各个字段(如标题、内容、作者等)设置采集规则。
| 字段名 | 字段说明 | 采集规则 | 备注 |
| :--- | :--- | :--- | :--- || 文章标题 | 选择“普通” | 用鼠标在文章页的标题 <h1> 或 <title> 标签上点击,规则会自动填充,通常需要修正为 id="article_title" 或 class="article-title" 等。 |
| writer | 作者 | 选择“普通” | 找到作者信息所在的 <span> 或 <div>,点击并修正规则。class="author"。 |
| content | 文章内容 | 选择“普通” | 这是最复杂的一步,用鼠标拖动选中文章正文区域的所有文字,火车头会自动生成一个规则,你需要仔细检查这个规则,确保它只包含正文,不包含页眉、页脚、广告、评论等无关信息,可能需要手动修改 XPath 或正则表达式来精确匹配。 |
| source | 来源 | 选择“普通” | 通常可以留空或写“本站原创”。 |
| description | | 选择“普通” | 可以采集文章正文的前200个字符作为摘要,规则可以是:{content:0,200} (表示取content字段的前200个字符),或者手动在摘要 <meta name="description"> 标签或摘要 <div> 上点击。 |
| keywords | 关键词 | 选择“普通” | 可以留空,或者采集文章页面的关键词 <meta name="keywords"> 标签。 |
| image_url | 文章图片 | 选择“下载远程图片” | 如果需要将文章中的图片下载到本地服务器,可以勾选此选项,它会自动匹配 <img> 标签的 src 属性。 |
| pubdate | 发布时间 | 选择“普通” | 找到发布时间所在的 <span> 或 <div>,点击并修正规则。class="time"。 |
配置“发布”模块
这是将采集到的内容发布到你的 DedeCMS 网站的步骤。
- 选择发布接口:选择“DedeCMS 5.x/6.x”。
- 填写网站信息:
- 网站主页:你的 DedeCMS 网站的首页地址,如
http://www.your-website.com。 - 登录地址:后台登录地址,通常是
http://www.your-website.com/dede/login.php。 - 用户名/密码:你的 DedeCMS 后台登录账号和密码。
- 网站主页:你的 DedeCMS 网站的首页地址,如
- 设置发布栏目:
- 栏目选择:选择你希望将文章发布到哪个栏目。注意:这个栏目必须和你在“网址列表”中采集的
tid对应的栏目类型一致(比如都是“普通文章”栏目)。 - 自动建立栏目:如果目标网站有新栏目,可以勾选,但需谨慎。
- 栏目选择:选择你希望将文章发布到哪个栏目。注意:这个栏目必须和你在“网址列表”中采集的
- 设置字段对应关系:
- 这一步非常重要,它将火车头采集到的字段映射到 DedeCMS 的字段上。
- 采集字段 -> 发布字段:
title->title(标题)writer->writer(作者)content->body(文章内容)description->description(简介)keywords->keywords(关键词)image_url->litpic(缩略图,如果采集了图片的话)pubdate->pubdate(发布时间)
- 高级选项:
- 是否自动生成摘要:description”字段为空,可以勾选此项,让 DedeCMS 自动从正文中截取。
- 内容中的图片是否本地化:强烈建议勾选,这会将文章中的所有图片下载到你服务器的指定目录,并修改文章中的图片链接为本地链接,防止外链失效。
- 内容中的超链接是否保留:根据需要选择,通常为了SEO,需要去除外部链接,保留内部链接。
第三步:测试与采集
-
测试采集:在所有配置完成后,先不要点击“开始采集”,点击工具栏上的“测试采集”按钮。
- 先测试“网址列表”,看是否能正确翻页并获取到文章链接列表。
- 再测试“内容采集”,随机选择一篇文章链接,看是否能正确抓取标题、内容等信息。
- 最后测试“发布”,看是否能成功登录后台并将文章发布到你指定的栏目。
-
开始采集:如果所有测试都通过,点击“开始采集”按钮,火车头就会自动完成所有工作。
常见问题与注意事项
- 反爬虫机制:很多网站都有反爬虫措施,如 IP 封禁、验证码等,如果遇到,可以在火车头中设置“代理 IP”或“模拟浏览器”来降低被封禁的风险。
- 编码问题:确保火车头的“网页编码”设置与目标网站一致,通常是
UTF-8或GBK,采集后出现乱文,通常是编码问题。 - 登录态失效:如果采集任务需要长时间运行,DedeCMS 的登录 session 可能会过期,火车头有“自动重新登录”的选项,可以勾选。
- 规则稳定性:目标网站如果改版,HTML 结构改变,之前采集的规则就会失效,需要定期检查并更新采集规则。
- 版权问题:请务必遵守网站的
robots.txt协议和版权声明,仅用于学习和研究目的,不要用于商业用途或侵犯他人权益。
希望这份详细的教程能帮助你成功配置火车头采集 DedeCMS 5.6 的 book 接口!如果在具体操作中遇到问题,可以提供目标网站的 URL 或具体的报错信息,我可以帮你进一步分析。
