【爬虫】案例-获取cbh影戏

打印 上一主题 下一主题

主题 1837|帖子 1837|积分 5521

以cupfox.in为例子:


 

    观察ts文件和m3u8文件,可以知道一个完整的视频是由多个ts文件组合,而m3u8则是记录全部ts文件信息的文本
   思路

1.先爬一个ts,测试能否观看
2.爬m3u8文件,通过正则分析出变革的部门
3.完整的把每个ts趴下来组合起来。
 
1.一个ts

  1. import requests
  2. url = 'https://v.cdnlz3.com/20240802/25255_00ff1a4b/2000k/hls/819a23c20b1000173.ts'
  3. headers = {
  4.     'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36',
  5.     'referer':'https://www.cupfox.in/'
  6. }
  7. response = requests.get(url)
  8. print(response.status_code)
  9. with open('video.ts', 'wb') as f:
  10.     f.write(response.content)
复制代码
 
 2.观察m3u8文件内容


   分析得出:819a23c20b1000(.*?).ts
   
 3.完整代码:

  1. import re
  2. import requests
  3. import time
  4. import random
  5. def get_m3u8():
  6.     '''
  7.     获取m3u8文件
  8.     '''
  9.     url = 'https://v.cdnlz3.com/20240802/25255_00ff1a4b/2000k/hls/index.m3u8'
  10.     resp = requests.get(url).text
  11.     # print(resp)
  12.     ts_list = re.findall('819a23c20b1000(.*?).ts', resp)
  13.     return ts_list
  14. def get_response(ts_list):
  15.     for ts in ts_list:
  16.         url = f'https://v.cdnlz3.com/20240802/25255_00ff1a4b/2000k/hls/819a23c20b1000{ts}.ts'
  17.         headers = {
  18.         'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36',
  19.         'referer':'https://www.cupfox.in/'
  20.         }
  21.         response = requests.get(url, headers=headers)
  22.         try:
  23.             with open('video.ts', 'ab') as f:
  24.                 f.write(response.content)
  25.                 print(f'下载完成,{ts+1}/{len(ts_list)}')
  26.                 time.sleep(random.uniform(1, 2))
  27.         except Exception as e:
  28.             print('报错原因是',e)
  29. if __name__ == '__main__':
  30.     '''
  31.     关键词.m3u8,它是一个文本文件,里面包含了多个ts
  32.     '''
  33.     a = get_m3u8() # 通过分析得出   # ts_list = re.findall('819a23c20b10(.*?).ts)', resp)
  34.     get_response(a)
复制代码
乐成拿到,时长精确:


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

泉缘泉

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表