陈公子的话 发表于 2020-12-8 13:52:30

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

利用第三方接口 抓包m3u8真实地址
找到地址后 取出m3u8中的ts文件 遍历下载 下载到本地后 利用os库执行cmd命令 合并成一个视频 实现下载功能
练手写的,大概思路就这样,具体操作忘了。

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

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


def Getmu38(vieo_url):
    url='接口自己抓'+vieo_url
    print('\n正在解析中......')
    res = requests.get(url)
    res = res.json()
    #print(res)
    if res['code'] == '200':
      m3u8_url = res['url']
      #print(m3u8_url)
      Get_ts(m3u8_url)
      print(m3u8_url)
      return m3u8_url
    else:
      print('解析失败,请检查网络或重新解析!')
def Get_ts(m3u8_url):
    res = requests.get(m3u8_url)
    ts_list = re.compile(r'+://[^\s]*').findall(res.text)
    path = sys.path
    print('当前运行目录:'+path)
    if len(ts_list) ==0:
      print('处理失败,请重新尝试!')
    else:
      os.makedirs(path + "\视频")
      for i in range(len(ts_list)):
            ts_url = ts_list
            # print(ts_url)
            res_ts = requests.get(ts_url)
            with open(path + '\视频\\' + str(i) + '.ts', 'wb') as f:
                f.write(res_ts.content)
            print('共需处理' + str(len(ts_list)-1) + '个数据,已处理' + str(i) + '个数据!')
      video_name = input('请输入此电影的名称:')
      os.system('cd ' + path + '\视频\\' + '&& copy /b *.ts '+video_name +'.mp4')

测试图:

陈公子的话 发表于 2020-12-8 13:58:05

代码没贴全..........

陈公子的话 发表于 2020-12-8 13:59:37

os.system('cd ' + path + '\视频\\' + '&& del /Q *.ts')
print('处理结束!已下载到本地!请前往观看!')
if __name__ == "__main__":
    vieo_url = input('请输入欲下载的电影链接:')
    Getmu38(vieo_url)
    input()

1220812196 发表于 2020-12-25 23:46:44

这个怎么用呀 也是油猴吗

1220812196 发表于 2020-12-25 23:51:13

还是说要用电脑的什么软件来运行这个程序

陈公子的话 发表于 2021-1-15 01:45:24

1220812196 发表于 2020-12-25 23:46
这个怎么用呀 也是油猴吗

python环境

CrazyTaylor 发表于 2021-4-22 17:09:50

1220812196 发表于 2020-12-25 23:51
还是说要用电脑的什么软件来运行这个程序

安装vs code ,然后安装python插件,应该就可以了运行了
页: [1]
查看完整版本: python会员影视解析 保存到本地