海洋CMS如何关闭采集自带弹窗广告?采集过滤。
海洋CMS 关闭采集自带弹窗广告,靠三件事一起做:后台「采集过滤」加正则规则拦掉 <script>、<iframe> 广告代码,播放器/解析接口换成不带广告的自己接口,最后用数据库批量替换清掉已经入库的老数据。只加过滤规则不管历史数据,等于白干——过滤规则只对「以后采集入库」的内容生效。
海洋CMS采集弹窗广告到底从哪来的?
结论:采集来的弹窗广告只有两类来源,一类是正文/简介里夹带的 HTML 脚本,一类是播放地址背后的第三方解析接口。
第一类是源站把 <script src="//xxx.com/xxx.js"></script>、<iframe>、<a onclick="window.open(...)"> 这类代码塞在影片简介、剧情、演员表字段里。这类代码采集入库后,在你自己的详情页里照样执行,于是弹窗跟着来。
第二类是你采集到的播放地址本身就是别人的解析接口(例如 //某站/?url= 形式的 m3u8 解析),这个接口在对外的播放页里挂了前贴片或暂停弹窗。这种问题不在内容里,过滤文字是滤不掉的,只能换接口。
分清楚是哪种,后面才知道该在哪一步动手。判断方法:详情页弹窗就是第一类,点播放后才弹就是第二类。
海洋CMS的采集过滤在哪里设置?
结论:后台顶部菜单「采集」→ 左侧「采集过滤」(部分版本显示为「过滤设置」或挂在「系统 → 采集参数设置」里),在这里统一配置过滤标签和替换规则。
进入后一般有三个可填区域:过滤的 HTML 标签、过滤的关键字、关键字替换(左边填被替换内容,右边填替换成什么,留空即删除)。规则按行填写,一行一条,保存即生效。
注意两点:一是这里的规则作用于「采集入库」这一瞬间,属于入库前处理;二是修改后建议清一次后台缓存再测试采集,避免拿缓存里的旧配置对比结果。
过滤规则怎么写才能拦住弹窗?
结论:按「先删标签、再删域名、最后删函数」的顺序写三类规则,能覆盖九成以上的内容型弹窗。
标签类,过滤标签里填 script 和 iframe(海洋CMS 的过滤标签功能会连带标签内的内容一起清掉)。
正则/替换类,用关键字替换功能写下面几条,替换值留空:
<script[\s\S]*?</script>→ 空<iframe[\s\S]*?</iframe>→ 空window.open→ 空- 源站广告域名,例如
xxx.com→ 空 onclick=、onmouseover=→ 空
写完先拿一个已知带广告的采集地址试采一部,去前台看详情页源码里还有没有残留的 script 标签,确认干净再批量采。
风险提示:正则里的 [\s\S]*? 是非贪婪匹配,不要写成 .*,否则会把两个 script 标签中间的正常简介内容整段吃掉。改规则前先备份数据库。
已经采集入库的老数据怎么清理?
结论:历史数据必须单独跑一次批量替换,过滤规则对它无效。用 phpMyAdmin 打开数据库,对影片主表(默认前缀 sea_,表名以你实际安装时的前缀为准)的简介、剧情等字段执行查找替换。
推荐用 phpMyAdmin 的「查找/替换」功能而不是手写 SQL:选中表 → 搜索 → 查找并替换 → 字段选简介,查找 <script 替换成 <script,再对 </script> 做一次。把尖括号转义成实体后,即使代码还在,浏览器也不会执行它,弹窗立刻消失。
操作前导出一次 SQL 备份。数据量大时一次只处理一个字段,避免请求超时中途断掉,留下半截数据。
播放页还弹窗怎么办?
结论:详情页干净了但点播放还弹,就是解析接口的问题,和采集过滤无关。
到后台「播放器」相关设置里,把采集来的第三方解析地址换成自己的解析接口或自建解析,再关闭播放器配置里的暂停广告、暂停推荐、贴片广告开关。采集时如果源站给的是整页播放 HTML,最好在采集规则里只取 m3u8 或 mp4 的直链,不要整页入库。
排查顺序固定为:先看详情页弹不弹(内容问题),再看点播放后弹不弹(接口问题),两者分开处理,别混在一起调。
过滤后没生效的常见原因
结论:八成是「规则没保存成功」或「只对新采集生效」这两种情况。
其余几种:源站用 JS 动态插入广告节点(静态过滤抓不到,只能靠前台模板里加 CSP 或直接换源);采集规则里对简介字段做了二次处理,覆盖了过滤结果;浏览器缓存或 CDN 缓存还在返回旧页面,按 Ctrl+F5 强制刷新一次再看。
收个尾:关掉海洋CMS采集弹窗广告的完整链路是——「采集过滤」加 script/iframe/广告域名规则拦住新数据,phpMyAdmin 批量替换清理老数据,播放解析接口换成自己的。三步少一步,弹窗都会从剩下的那个口子冒出来。
原文链接:https://www.gj0.com/thread-193.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。