当前位置: 首页 > news >正文

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

以cupfox.in为例子:

 

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

 思路

1.先爬一个ts,测试能否观看

2.爬m3u8文件,通过正则分析出变化的部分

3.完整的把每个ts爬下来组合起来。

 

1.一个ts

import requestsurl = 'https://v.cdnlz3.com/20240802/25255_00ff1a4b/2000k/hls/819a23c20b1000173.ts'
headers = {'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', 'referer':'https://www.cupfox.in/'}
response = requests.get(url)print(response.status_code)with open('video.ts', 'wb') as f:f.write(response.content)

 

 2.观察m3u8文件内容

分析得出:819a23c20b1000(.*?).ts

 

 3.完整代码:


import re
import requests
import time
import random
def get_m3u8():'''获取m3u8文件'''url = 'https://v.cdnlz3.com/20240802/25255_00ff1a4b/2000k/hls/index.m3u8'resp = requests.get(url).text# print(resp)ts_list = re.findall('819a23c20b1000(.*?).ts', resp)return ts_list
def get_response(ts_list):for ts in ts_list:url = f'https://v.cdnlz3.com/20240802/25255_00ff1a4b/2000k/hls/819a23c20b1000{ts}.ts'headers = {'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', 'referer':'https://www.cupfox.in/'}response = requests.get(url, headers=headers)try:with open('video.ts', 'ab') as f:f.write(response.content)print(f'下载完成,{ts+1}/{len(ts_list)}')time.sleep(random.uniform(1, 2))except Exception as e:print('报错原因是',e)if __name__ == '__main__':'''关键词.m3u8,它是一个文本文件,里面包含了多个ts'''a = get_m3u8() # 通过分析得出   # ts_list = re.findall('819a23c20b10(.*?).ts)', resp)get_response(a)

成功拿到,时长正确:

相关文章:

  • 23G显存可以跑多大尺寸的Qwen3?
  • JavaSE第12篇:接口interface
  • Java练习2
  • 解决 Flutter 在 iOS 真机上构建失败的问题
  • 9.idea中创建springboot项目
  • Javascript 中的继承?如何实现继承?
  • docker-vllm运行大模型
  • 高翔视觉slam中常见的OpenCV和Eigen的几种数据类型的内存布局及分配方式详解
  • 从代码学习深度学习 - 目标检测前置知识(一) PyTorch 版
  • 5.4.2 MVVM例2-用户控件的使用(水在水管中流动的实例)
  • 快速了解Go+rpc
  • MATLAB画一把伞
  • React Three Fiber 详解:现代 Web3D 的利器
  • Vue3取消网络请求的方法(AbortController)
  • jmeter-Beashell获取http请求体json
  • Flutter:组件10、倒计时
  • python如何流模式输出
  • rsync命令详解与实用案例
  • SQLyog中DELIMITER执行存储过程时出现的前置缩进问题
  • 全局id生成器生产方案
  • 科学家为AI模型设置“防火墙”,以防止被不法分子滥用
  • 言短意长|政府食堂、停车场开放的示范效应
  • 长三角铁路“五一”假期运输今启动:预计发送旅客量增6%,5月1日当天有望创新高
  • 江苏银行一季度净赚近98亿增逾8%,不良贷款率微降
  • 经济日报金观平:统筹国内经济工作和国际经贸斗争
  • 铜钴巨头洛阳钼业一季度净利润同比大增九成,最新宣布超30亿元收购黄金资产