谷歌浏览器网页M3U8视频链接插件v1.1

611次阅读
没有评论

共计 1132 个字符,预计需要花费 3 分钟才能阅读完成。

谷歌浏览器网页 M3U8 视频链接插件 v1.1

功能介绍
简单快速提取当前页面或全部页面的 M3U8 链接
支持显示抓取结果,格式为:标题, 链接

关键代码:

// 抓取当前页面 M3U8 链接
currentPageBtn.addEventListener('click', async () => {setStatus('正在抓取当前页面链接...', true);

try {
// 获取当前活动标签页
const [tab] = await chrome.tabs.query({active: true, currentWindow: true});

// 注入内容脚本并执行抓取
const results = await chrome.scripting.executeScript({target: { tabId: tab.id},
function: findM3U8Links
});

// 结果 显示时去重
const m3u8Links = results[0].result;
...

// 在页面中查找 M3U8 链接的函数
function findM3U8Links() {const m3u8Links = new Set();

// 查找所有可能的 M3U8 链接来源
const sources = [
// 1. 查找 <script> 标签中的 M3U8 链接
...Array.from(document.scripts).map(script => script.innerHTML),

// 2. 查找 JSON 数据
...Array.from(document.querySelectorAll('*')).map(el => el.innerHTML),

// 3. 查找视频标签
...Array.from(document.querySelectorAll('video source')).map(source => source.src),

// 4. 查找所有链接
...Array.from(document.querySelectorAll('a')).map(a => a.href)
];

// M3U8 链接正则表达式
const m3u8Regex = /https?:\/\/[^\s"']+\.m3u8(?:\?[^\s"']*)?/gi;

// 在所有来源中搜索 M3U8 链接
sources.forEach(source => {if (typeof source === 'string') {const matches = source.match(m3u8Regex);
if (matches) {matches.forEach(match => m3u8Links.add(match));
}
}
});
...
  下载声明: 本站部分资源来自于网络收集,若侵犯了你的隐私或版权,请及时联系我们删除有关信息。
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的 24 个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件 QQ 邮箱:suyanw520@163.com 与我们联系处理。敬请谅解!

正文完
 0
suyan
版权声明:本站原创文章,由 suyan 于2025-11-08发表,共计1132字。
转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件QQ邮箱:suyanw520@163.com 与我们联系处理。敬请谅解!
评论(没有评论)
验证码