吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4089|回复: 21
上一主题 下一主题
收起左侧

[Python 原创] 逍遥大神M3U8批量下载器 V1.4.8 http方式调用之Python的实现

[复制链接]
跳转到指定楼层
楼主
main200 发表于 2024-6-16 22:18 回帖奖励
不知道是不是我对m3u8理解不够,某些网站爬取的m3u8长期有效,某些网站只有一两个小时有效期,针对这种有效期短的网站,又想爬取它全部视频
逍遥大神的软件说明
https://www.52pojie.cn/forum.php?mod=viewthread&tid=1631141&highlight=m3u8%C5%FA%C1%BF%CF%C2%D4%D8
python调用
https://www.52pojie.cn/thread-1216587-1-1.html

[Python] 纯文本查看 复制代码
import base64
import requests
import time


def postToCuteM3U8(title, m3u8Url, HEAD='', OUT='', NFAIL=0, CLOSE=0, CHECK=0, KEY='', CACHE=0, NKEY=0, NETCHECK=0, NTSCHECK=0, IDOWN=0, NCONCAT=0, AGENT='', FORMAT='mp4', DECMETHOD='cbc', **kwargs):
    print('调用下载器')
    data = {
        '#HEAD': HEAD,
        '#OUT': OUT,
        '#NFAIL': NFAIL,
        '#CLOSE': CLOSE,
        '#CHECK': CHECK,
        '#KEY': KEY,
        '#CACHE': CACHE,
        '#NKEY': NKEY,
        '#NETCHECK': NETCHECK,
        '#NTSCHECK': NTSCHECK,
        '#IDOWN': IDOWN,
        '#NCONCAT': NCONCAT,
        '#AGENT': AGENT
    }
    datastr = ''
    for key in data.keys():
        # print(key,data[key])
        if (data[key]):
            datastr = datastr + str(key) + ',' + str(data[key]) + '\r\n'
    datastr = datastr + title + ',' + m3u8Url  # datastr是配置内容
    postdata = {
        "data": datastr,
        "type": '2'  # 模式2
    }
    try:
        rr = requests.post('http://127.0.0.1:8787/info')
        if (rr.json()['failTotal'] > 20):
            print("超过20条异常数据时终止运行")
            return 0
        elif (rr.json()['queueTotalReal'] < 70):
            r = requests.post('http://127.0.0.1:8787/', data=postdata)
            if (r.json()['message'] == 'success'):
                print('推送成功')
            else:
                print('推送失败')
            return 1
        else:
            print("已有70条数据执行休息半小时")
            time.sleep(30 * 60)
            r = requests.post('http://127.0.0.1:8787/', data=postdata)
            if (r.json()['message'] == 'success'):
                print('推送成功')
            else:
                print('推送失败')
            return 2
    except:
        print('没有打开M3U8下载器吧?')
        return 0


水平差大家凑合着用,根据返回状态码再做处理
对于这种有效期短的m3u8,有大神指点下更好的解决方法吗

免费评分

参与人数 4吾爱币 +7 热心值 +4 收起 理由
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
bjjette + 1 + 1 我很赞同!
angelabebe + 1 + 1 我很赞同!
sxhytds + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
逍遥一仙 发表于 2024-6-17 07:36
有效期短的建议写个服务器,把必要参数放到链接里,下载器请求你的服务器后,根据参数实时解析,重定向到实际链接

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
main200 + 1 + 1 热心回复!

查看全部评分

推荐
逍遥一仙 发表于 2024-6-17 10:49
main200 发表于 2024-6-17 10:19
大佬,这种短效m3u8链接是我没获取到它真实的m3u8地址,还是说它本来就是这样的,是否和key解密有关系

本身就是这样的,分片和m3u8索引都可以设置时效(时效的参数可能在链接的参数里,也可能是链接本身,主要看服务端对链接的处理逻辑)。如果分片会超时失效且可以接受丢弃这个分片时,可以勾选忽略失败

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
modesty88 + 1 + 1 热心回复!

查看全部评分

沙发
wkfy 发表于 2024-6-17 06:05
以前一直用逍遥大佬的下载器,直到遇到和楼主一样的情况,短效m3u8而且集数很多,又是国外的,只要一片TS卡住就得等很久。然后一直下不完,要反复重新获取链接。论坛另一个大佬写的批量下载器适合这种短期的。因为多线程多任务。速度提升N倍。也支持批量提交,再无此困扰,只是需要加工一下源码,因为不支持多目录。https://www.52pojie.cn/forum.php ... &highlight=m3u8
3#
yb66vs 发表于 2024-6-17 07:11
神操作,,厉害!
5#
angelabebe 发表于 2024-6-17 09:08
谢谢分享
6#
流浪情人 发表于 2024-6-17 09:30
就说有时候有的M3U8下着下着没有断了
7#
sunhai1979 发表于 2024-6-17 09:33
好代码。辛苦!!
8#
 楼主| main200 发表于 2024-6-17 09:35 |楼主
流浪情人 发表于 2024-6-17 09:30
就说有时候有的M3U8下着下着没有断了

对,这是什么情况,没有key解密吗
9#
360204878 发表于 2024-6-17 09:37
感谢分享
10#
流浪情人 发表于 2024-6-17 09:40
main200 发表于 2024-6-17 09:35
对,这是什么情况,没有key解密吗

我是小白也不知道
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-18 07:01

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表