海洋 CMS 采集 xml 资源库怎么设置
海洋CMS 采集 XML 资源库的设置只做三件事:在后台「采集」里新增一个资源库节点、把资源站的 XML 接口地址填进去并测试通、再把资源站分类绑定到本机分类,然后就能一键采集。卡住 90% 人的地方不是菜单在哪,而是接口地址填错(多填了 ac=detail)和分类没绑定播放器/播放组。
XML 资源库和 JSON 资源库有什么区别?
结论:XML 是海洋CMS、苹果CMS 这一系影视 CMS 最通用的采集格式,优先选 XML;只有当资源站明确只提供 JSON 接口时才选 JSON。
原因是国内绝大多数资源站(俗称「采集站」)的后台都基于苹果CMS 开发,默认提供的接口就是 XML 格式,路径通常是 /api.php/provide/vod/?ac=list(取分类列表)和 /api.php/provide/vod/?ac=detail(取影片详情)。海洋CMS 的采集模块对这两种格式都能解析,但 XML 节点的兼容性最好,分类名称、播放组、播放地址这些字段解析出错率最低。JSON 接口在部分资源站上是后来加的,字段命名不统一,容易出现播放地址为空。
海洋CMS 添加 XML 资源库的具体步骤
结论:菜单路径在后台「采集」→「采集资源库」(部分版本叫「资源库管理」或「自定义采集节点」),点新增,类型选 XML,填名称和接口地址,保存后必须点一次「测试/读取分类」确认返回分类数据。
完整流程:
- 登录海洋CMS 后台,左侧菜单进入「采集」栏目,找到资源库/采集节点管理;
- 点「新增资源库」,名称随便填(建议填资源站名,方便以后排查),采集类型选择 XML;
- 接口地址填
https://资源站域名/api.php/provide/vod/?ac=list; - 保存后回到资源库列表,点「测试」或「读取分类」。能列出「电影/连续剧/综艺/动漫」等分类,说明接口通了;
- 逐个绑定分类(见下节);
- 回到采集页面,选择资源库、选择要采集的分类、设定每分类采集条数,点开始采集。
XML 接口地址怎么填才对?
结论:海洋CMS 采集 XML 时,地址只填到 ac=list 这一层,采集详情时程序会自动把 ac=list 替换为 ac=detail,不需要你手工改成 detail。
三个最常见的填错方式:
- 直接把
?ac=detail填进资源库地址,导致读取分类失败、只剩一个空分类; - 地址末尾多加了
&或空格; - 用了 http 而资源站只支持 https(或反之)。
如果资源站需要固定 UA 才能访问,海洋CMS 采集设置里一般有「自定义 User-Agent」或「采集超时时间」选项,把超时从默认的 5 秒调到 10–15 秒,能明显减少「读取分类失败」。另外,接口地址里不要带 &wd=、&h= 这类附加参数,那些是资源站用来做关键词过滤的,填进去会过滤掉影片。
采集分类怎么绑定?播放组要注意什么?
结论:绑定分类时,左侧是资源站的分类,右侧要同时选本机分类和播放器/播放组,播放组不选会导致采集回来能打开详情页但点播放没反应。
操作上,把资源站分类逐条映射到本机已有分类,比如「电影」→「电影」、「连续剧」→「电视剧」。播放组建议单独建一个(如「资源站A」),避免不同资源站的播放地址混进同一个播放组,后期换源时不好清理。绑定完成后设置采集时间间隔,推荐 0.3–1 秒;间隔为 0 的高并发采集容易被资源站限速甚至封 IP。
采集后常见的三个问题怎么排查?
结论:分类读取失败先查接口连通性和 UA;标题乱码查编码;图片不显示开图片本地化。
- 读取分类失败:用浏览器直接打开接口地址,能看到 XML 才算资源站正常,看不到就是资源站挂了或被墙;
- 标题/简介乱码:资源站返回 GBK 编码时,海洋CMS 采集设置里开启编码转换(UTF-8),否则入库是乱码;
- 封面图不显示:开启「图片本地化」,把图片下载到本机,避免资源站防盗链;
- 重复数据:采集设置里选择重复判断依据(按接口影片 ID 或按标题),选「跳过」可避免同一部影片反复入库。
采集完还要做什么?
结论:采集只是把数据写进数据库,前台要显示还得生成静态页或清理缓存。
海洋CMS 部分版本是伪静态、部分是生成静态 HTML,采集结束后到「生成」栏目更新首页、分类页和内容页;如果是伪静态,清一次系统缓存即可。采集条数建议单次控制在 1000 条以内,分批次跑,避免 PHP 执行超时导致采集中断。
总结一句:海洋CMS 采集 XML 资源库 = 新增 XML 节点 + 填 ac=list 接口 + 测试读分类 + 绑定分类和播放组 + 设 0.3–1 秒间隔 + 采集后更新缓存。把这六步按顺序做完,基本不会出问题。
原文链接:https://www.gj0.com/thread-533.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。