返回列表 发布新帖
查看: 10|回复: 0

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

2929

主题

0

回帖

9351

积分

论坛元老

积分
9351
发表于 6 小时前 | 查看全部 |阅读模式



功能介绍
简单快速提取当前页面或全部页面的M3U8链接
支持显示抓取结果,格式为:标题,链接
支持复制所有结果,格式为:标题,链接,可用于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));
            }
        }
    });
        ...
复制代码附件下载
https://xiaok.lanzoum.com/iQeYf3ae66af
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2001-2025 52线报网 版权所有 All Rights Reserved. |网站地图 闽ICP备19006036号-4
关灯 在本版发帖
扫一扫添加微信客服
返回顶部
快速回复 返回顶部 返回列表