上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖
楼主: 陈公子的话 - 

python会员影视解析 保存到本地

[复制链接]
  • TA的每日心情
    擦汗
    昨天 08:59
  • 签到天数: 532 天

    [LV.9]以坛为家II

    148

    主题

    420

    回帖

    1215

    积分

    版主

    积分
    1215

    油中2周年生态建设者

    发表于 2020-12-8 13:52:30 | 显示全部楼层 | 阅读模式
    利用第三方接口 抓包m3u8真实地址
    找到地址后 取出m3u8中的ts文件 遍历下载 下载到本地后 利用os库执行cmd命令 合并成一个视频 实现下载功能
    练手写的,大概思路就这样,具体操作忘了。

    遍历速度慢,有能力自己加多线程,加起来不难。

    python代码:
    1. import requests
    2. import re
    3. import os#创建文件夹 删除文件夹等文件夹操作
    4. import sys#取运行目录


    5. def Getmu38(vieo_url):
    6.     url='接口自己抓'+vieo_url
    7.     print('\n正在解析中......')
    8.     res = requests.get(url)
    9.     res = res.json()
    10.     #print(res)
    11.     if res['code'] == '200':
    12.         m3u8_url = res['url']
    13.         #print(m3u8_url)
    14.         Get_ts(m3u8_url)
    15.         print(m3u8_url)
    16.         return m3u8_url
    17.     else:
    18.         print('解析失败,请检查网络或重新解析!')
    19. def Get_ts(m3u8_url):
    20.     res = requests.get(m3u8_url)
    21.     ts_list = re.compile(r'[a-zA-z]+://[^\s]*').findall(res.text)
    22.     path = sys.path[0]
    23.     print('当前运行目录:'+path)
    24.     if len(ts_list) ==0:
    25.         print('处理失败,请重新尝试!')
    26.     else:
    27.         os.makedirs(path + "\视频")
    28.         for i in range(len(ts_list)):
    29.             ts_url = ts_list[i]
    30.             # print(ts_url)
    31.             res_ts = requests.get(ts_url)
    32.             with open(path + '\视频\\' + str(i) + '.ts', 'wb') as f:
    33.                 f.write(res_ts.content)
    34.             print('共需处理' + str(len(ts_list)-1) + '个数据,已处理' + str(i) + '个数据!')
    35.         video_name = input('请输入此电影的名称:')
    36.         os.system('cd ' + path + '\视频\\' + '&& copy /b *.ts '+video_name +'.mp4')
    复制代码


    测试图:
    QQ图片20201208135058.png
    已有1人评分好评 贡献 理由
    李恒道 + 2 + 1

    查看全部评分 总评分:好评 +2  贡献 +1 

    I don't hate programming but the fucking world.
  • TA的每日心情
    擦汗
    昨天 08:59
  • 签到天数: 532 天

    [LV.9]以坛为家II

    148

    主题

    420

    回帖

    1215

    积分

    版主

    积分
    1215

    油中2周年生态建设者

    发表于 2020-12-8 13:58:05 | 显示全部楼层
    代码没贴全..........
    I don't hate programming but the fucking world.
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    昨天 08:59
  • 签到天数: 532 天

    [LV.9]以坛为家II

    148

    主题

    420

    回帖

    1215

    积分

    版主

    积分
    1215

    油中2周年生态建设者

    发表于 2020-12-8 13:59:37 | 显示全部楼层
    1. os.system('cd ' + path + '\视频\\' + '&& del /Q *.ts')
    2. print('处理结束!已下载到本地!请前往观看!')
    3. if __name__ == "__main__":
    4.     vieo_url = input('请输入欲下载的电影链接:')
    5.     Getmu38(vieo_url)
    6.     input()
    复制代码
    I don't hate programming but the fucking world.
    回复

    使用道具 举报

    该用户从未签到

    4

    主题

    5

    回帖

    32

    积分

    助理工程师

    积分
    32

    新人报道

    发表于 2020-12-25 23:46:44 | 显示全部楼层
    这个怎么用呀 也是油猴吗
    回复

    使用道具 举报

    该用户从未签到

    4

    主题

    5

    回帖

    32

    积分

    助理工程师

    积分
    32

    新人报道

    发表于 2020-12-25 23:51:13 | 显示全部楼层
    还是说要用电脑的什么软件来运行这个程序
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    昨天 08:59
  • 签到天数: 532 天

    [LV.9]以坛为家II

    148

    主题

    420

    回帖

    1215

    积分

    版主

    积分
    1215

    油中2周年生态建设者

    发表于 2021-1-15 01:45:24 | 显示全部楼层
    1220812196 发表于 2020-12-25 23:46
    这个怎么用呀 也是油猴吗

    python环境
    I don't hate programming but the fucking world.
    回复

    使用道具 举报

    该用户从未签到

    3

    主题

    36

    回帖

    33

    积分

    助理工程师

    积分
    33

    新人报道油中2周年

    发表于 2021-4-22 17:09:50 | 显示全部楼层
    1220812196 发表于 2020-12-25 23:51
    还是说要用电脑的什么软件来运行这个程序

    安装vs code ,然后安装python插件,应该就可以了运行了
    本人男,爱好女,头像是ins上的网图!
    回复

    使用道具 举报

    发表回复

    本版积分规则

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