Dedecms 视频采集完全指南 (保姆级教程)

核心原理:Dedecms 采集是如何工作的?

在开始之前,我们必须理解 Dedecms 采集的基本逻辑,这会让你事半功倍。

dedecms 采集视频教程
(图片来源网络,侵删)

采集过程可以想象成一个“复制-粘贴-格式化”的自动化流程:

  1. 分析目标网站:Dedecms 需要知道去哪个网站的哪个页面找视频,你需要告诉它目标列表页的网址(https://www.video.com/list/1.html)。
  2. 提取规则:目标网站的列表页和内容页的 HTML 结构是固定的,你需要“告诉”Dedecms 如何从列表页中提取出每一个视频的标题、缩略图、播放页面的链接,同样,也需要告诉它如何从播放页面提取出视频的播放地址、内容简介等。
  3. 匹配与填充:Dedecms 会根据你设定的规则,自动访问目标网站,提取信息,然后将这些信息填充到它自己的发布表单中。
  4. 保存入库:Dedecms 将填写好的表单提交,生成一篇文章并保存到你的网站数据库中。

核心工具:整个采集过程都在 Dedecms 后台的 【采集】 -> 【采集管理】 中完成。


采集前的准备工作

工欲善其事,必先利其器,采集前,请务必完成以下准备工作:

  1. 网站环境

    dedecms 采集视频教程
    (图片来源网络,侵删)
    • 确保你的 Dedecms 程序已正确安装,并且后台可以正常登录。
    • 确保你的 php 环境开启了 allow_url_fopencurl 扩展,这两个是 Dedecms 采集的基石,否则无法获取远程网页内容,你可以在 phpinfo.php 文件中检查,或者在服务器后台设置。
  2. 选择目标网站

    • 重要:选择一个结构清晰、广告少、没有复杂反爬措施的网站作为目标,这会极大降低你编写规则的难度。
    • 建议:选择一些你熟悉、或者使用浏览器开发者工具(F12)能轻易分析其结构的网站。
  3. 安装必要的插件(可选但推荐)

    • Dedecms 视频发布模块:确保你的 Dedecms 已经安装了视频模型,如果没有,你需要进入后台 【核心】 -> 模型管理】,安装一个“视频”模型,这个模型定义了视频文章需要包含的字段,如标题、视频地址、演员、导演等。
    • 远程图片/附件下载插件:Dedecms 默认不下载远程图片,你需要安装一个插件,或者手动在采集规则中设置“下载远程图片”,这样才能把目标网站的缩略图保存到你自己的服务器上,避免日后失效。
  4. 分析目标网站(最关键的一步)

    • 使用浏览器开发者工具:打开目标网站(例如一个视频列表页),按 F12 键,切换到 “元素”“Elements” 面板。
    • 定位列表:将鼠标悬停在列表中的一个视频标题上,右键 -> “检查”,查看这个标题所在的 HTML 标签,通常它会包含在 <a> 标签、<h3><div> 等标签中,记下这个标签的 classid 名称,<a class="video-title" href="...">,这就是我们后面要填写的“列表链接”规则。
    • :点击进入一个视频的播放页面,用同样的方法分析视频标题、缩略图、播放地址所在的 HTML 标签和它们的 class/id。
    • 定位视频地址:视频地址通常隐藏在 <iframe><embed><video> 标签的 src 属性中,或者被 JavaScript 加载,你需要找到最终的 .mp4.flv.m3u8 等格式的链接。

详细采集步骤(手把手教学)

假设我们要采集一个名为“示例视频网站”的内容。

dedecms 采集视频教程
(图片来源网络,侵删)

第一步:创建采集节点

  1. 登录 Dedecms 后台,进入 【采集】 -> 【采集管理】

  2. 点击右上角的 【增加新节点】

  3. 填写节点基本信息

    • 节点名称:给你的采集任务起个名字,如“示例视频采集”。
    • 起始URL:填写目标网站的列表页地址,https://www.example-videos.com/list/
    • 列表命名规则:可以留空,或者自定义,如 {listpage}
    • 列表链接范围:指定采集列表页的页数范围,1-10,表示只采集前10页列表。
    • 目标选择:选择你之前安装好的 “视频” 内容模型。
    • 作者:可以设置为固定的“佚名”,或者留空。
    • 来源:可以设置为“转载”,或者留空。
    • 简介:可以留空,后面会从内容页获取。
    • 缩图:留空,后面会从内容页获取。
    • 发布栏目:选择你希望视频发布到的栏目,电影”、“电视剧”等。(请务必确保此栏目已绑定为“视频”栏目类型)
    • 发布时间:选择“发布时使用本地时间”或“采集时使用目标时间”。
    • 是否启用:勾选“是”。
  4. 点击 【下一步,选择列表内容】

第二步:设置列表内容匹配规则

这一步的目的是告诉 Dedecms 如何从列表页中找出每一篇文章的标题和链接。

  1. 在页面左侧,你会看到刚才填写的“起始URL”。

  2. 在右侧的 “选择列表内容” 区域:

    • 选择列表链接
      • 测试按钮:点击“选择”按钮旁边的 【测试】,程序会尝试获取起始URL的内容。
      • 手动匹配:在“测试”按钮下方,会显示源码,你需要在源码中找到代表一个视频条目的父级容器,每个视频条目都在 <div class="video-item">...</div> 中。
      • 填写规则:在 “选择列表链接” 的输入框中,填入这个父级容器的选择器,如 //div[@class='video-item'] (XPath) 或 .video-item (CSS Selector),推荐使用 XPath,因为它更精确。
      • 验证:点击 【获取】,如果规则正确,下方会显示出所有匹配到的视频条目。
      • 在列表项中找到标题所在的标签,<a class="title">...</a>
      • 在 的输入框中,填写选择器,如 ./a[@class='title'] (XPath) 或 a.title (CSS Selector)。
      • 同样点击 【获取】 进行验证。
    • 链接
      • 标题所在的 <a> 标签的 href 属性就是链接。
      • “链接” 的输入框中,填写选择器,通常和标题一样,如 ./a[@class='title']
      • 勾选 “使用链接作为内容页网址”
    • 缩图
      • 找到缩略图所在的 <img> 标签,<img src="..." class="thumb">
      • “缩图” 的输入框中,填写选择器,如 ./img[@class='thumb']
      • 勾选 “下载远程图片并保存到本地”
  3. 所有规则填写并验证无误后,点击 【保存规则】

第三步:设置内容页匹配规则

这一步是采集的核心,需要获取视频的播放地址和详细信息。

  1. 在保存了列表规则后,系统会自动跳转到 “选择保存位置” 页面。

  2. 在页面顶部,点击 【高级选项】

  3. 来源网址处理” 中,点击 【获取】,系统会随机选择一个列表链接并进入内容页。

  4. 在下方的内容源码区域,开始编写内容页的规则:

    • 页标题标签,填写选择器,如 //h1[@class='page-title']
    • 内容正文:对于视频网站,这里通常不需要填写正文,因为视频本身就是内容,可以留空。
    • 视频播放地址这是最关键的一步!
      • 在源码中找到视频播放器,它可能是一个 <iframe>,也可能是一个 <video> 标签,或者是一个 JavaScript 变量。
      • 如果是 <iframe>:找到 src 属性,选择器如 //iframe[@id='player'],然后选择 属性 -> src
      • 如果是 <video>:找到 src 属性,选择器如 //video,然后选择 属性 -> src
      • 如果是 JavaScript:这是最麻烦的,你需要找到存储视频地址的 JS 变量,源码中有 var videoUrl = "https://cdn.example.com/video.mp4";,你可以使用 XPath 的 contains 函数来定位,如 //script[contains(text(), 'videoUrl')],然后通过一些复杂的字符串处理来提取 URL,对于新手,建议优先选择结构简单的网站。
      • 选择器填写示例//iframe[@class='video-frame'],然后选择 属性 -> src
    • 内容摘要:找到简介所在的 <p><div> 标签,填写选择器。
    • 下载远程图片并保存到本地:确保勾选,这样缩略图才会被保存到你的服务器。
    • 去除 HTML 标签:对于摘要等文本内容,可以勾选,以去除多余的样式代码。
  5. 页规则填写完毕后,点击 【保存】

第四步:开始采集

  1. 返回到 【采集管理】 主界面,你会看到刚刚创建的“示例视频采集”节点。
  2. 勾选该节点,点击下方的 【开始采集】
  3. 系统会自动开始执行任务,你可以看到采集进度、成功和失败的条目数。
  4. 采集完成后,去你的网站前台对应栏目查看,视频是不是已经成功发布了!

高级技巧与注意事项

  1. 模拟浏览器行为

    • 一些网站会检测 User-Agent,如果采集失败,可以尝试在节点的高级选项中设置一个常见的浏览器 User-Agent,如 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36
  2. 处理分页

    • 如果列表 URL 是 list-1.html, list-2.html 这种形式,你可以在“起始URL”中使用通配符,如 https://www.example.com/list-{page}.html,然后在“列表链接范围”中设置页码。
  3. 处理动态加载(Ajax)

    • 很多现代网站使用 Ajax 动态加载视频列表,这种情况下,Dedecms 的传统采集方法可能无效,你需要分析 Ajax 请求的 API 接口(通常在 XHR 请求中可以找到),然后直接采集这个 API 返回的 JSON 数据,这需要更高级的技巧。
  4. 版权问题

    • 【重要提醒】涉及版权问题,请确保你有权采集和使用这些内容,或者目标网站允许其内容被转载,否则,你的网站可能会面临法律风险。
  5. 采集频率

    不要设置过高的采集频率,这会给目标网站服务器造成压力,也容易被封禁 IP,建议设置合理的间隔。

  6. 失败排查

    • 如果采集失败,首先检查你的网络是否正常。
    • 检查目标网站是否改版了 HTML 结构。
    • 回到后台,在规则设置页面多使用 【测试】【获取】 功能,一步步验证你的选择器是否正确。
    • 查看系统日志,看是否有具体的错误提示。

Dedecms 视频采集功能非常强大,但它的核心在于 “耐心分析”“精确匹配”

流程回顾

  1. 准备:检查环境,分析目标网站。
  2. 建节点:创建采集任务,填写基本信息。
  3. 设列表规则:告诉 Dedecms 如何从列表页找到标题和链接。
  4. 规则:告诉 Dedecms 如何从内容页提取视频地址和详细信息。
  5. 执行与调试:开始采集,失败后根据错误信息反复调试规则。

希望这份详细的教程能帮助你成功掌握 Dedecms 视频采集,祝你采集顺利!