-
用Python批量获取世界各地视频,只有你喊不出名字的,没有我爬不到的
兄弟们,一般国外的电影电视剧,都找不到资源,很多人就对此束手无策了。
这个时候python就很有用了,只要叫得出名字的,都可以几行代码搞定~
获取结果
#我还给大家准备了这些资料,直接在群里就可以免费领取了。 #一群:872937351 (群满了的话加二群) #二群:924040232 #python学习路线汇总 #精品Python学习书籍100本 #Python入门视频合集 #Python实战案例 #Python面试题 #Python相关软件工具/pycharm永久激活
代码展示
import requests # 数据请求模块 pip install requests import re # 正则表达式模块 内置模块 url = 'https://www.meiju11.com/Play/7816-0-0.html' headers = { 'Referer': 'https://www.meiju11.com/Play/7816-0-0.html', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36' } response = requests.get(url=url, headers=headers) response.encoding = response.apparent_encoding # 自动识别编码转码 # print(response.text) # 每个网站数据结构都不一样, 都是需要重新去数据结构 title = re.findall("var playn = '(.*?)',", response.text)[0] video_data = re.findall('第\d+集\$(.*?)\$rrm3u8', response.text) print(title) print(video_data) num = 1 for index in video_data: video_name = f'{title}第{num}集' print(video_name, index) # 1. 发送请求, 对于 url地址发送请求 # 确定请求的网址 video_url = f'https://www.meiju11.com/ckplayerx/m3u8.php?url={index}&f=ck_m3u8' # headers 请求头 用来伪装python代码的 不被识别出来是爬虫程序 # User-Agent 用户代理 浏览器基本身份标识 建议都加 # Referer 防盗链 告诉服务器我们的发送请求url地址 是从哪里跳转过来 # 加headers就穿个衣服 , 不加裸奔.... 有时候只是加一个UA 相当于你只有裤头 # Cookie 用户信息, 检测是否有登陆账号 # Host 域名 headers_1 = { 'Referer': 'https://www.meiju11.com/js/player/rrm3u8.html', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36' } # 通过requests这个模块里面get请求方法 对于url地址发送请求, 并且携带上headers请求头 最后用response变量接收返回数据 response = requests.get(url=video_url, headers=headers_1) # <Response [200]> 响应对象 200 状态码表示请求成功 # 虽然请求成功, 但是没有得到自己想要的数据内容..... # print(response.text) 文本数据 # 3. 解析数据, 提取我们想要的数据内容 视频播放地址 m3u8_url = re.findall("url: '(.*?)'", response.text)[0] print(m3u8_url) # 4. 发送请求, 对于这个播放地址发送请求 m3u8_data_1 = requests.get(url=m3u8_url, headers=headers_1).text # . 是匹配任意字符(除了换行\n) * 匹配前一个字符0或者无限个 m3u8_data = re.sub('#EX.*', '', m3u8_data_1).split() for link in m3u8_data: # https://fangao.stboda.com/concat/20211115/54b420f81ccc4339b56b11b74adc15a7/cloudv-transfer/a0941a88a1784001b46560ea05257010_0000031.ts # a0941a88a1784001b46560ea05257010_0000000.ts # 6. 解析数据, 提取所有ts文件 ts_url = 'https://fangao.stboda.com/concat/20211115/54b420f81ccc4339b56b11b74adc15a7/cloudv-transfer/' + link # 7. 保存数据 (二进制数据[图片/音频/视频/特定格式的文件]) 进行发送请求 获取数据 # ts_content = requests.get(url=ts_url).content # response.content 获取二进制数据 # # a 追加保存 b 二进制模块 # with open(video_name + '.mp4', mode='ab') as f: # f.write(ts_content) print(ts_url) num += 1
出处:https://www.cnblogs.com/hahaa/p/15727844.html
最新更新
Python获取微信好友数据
Python 的排序方法 sort 和 sorted 的区别
WinForm轻松实现自定义分页 (转载)
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
在win系统安装配置 Memcached for PHP 5.3 图文
箱图在数据预处理中的应用
Python WEB开发:用Tornado框架制作简易【表
自从学会了用python解析视频,都不用去找
Python代码阅读(第50篇):对列表间隔取
Python爬虫+数据分析+可视化展示,分析《
MongoDB常用命令(2)
MongoDB基本介绍与安装(1)
SQLServer触发器调用JavaWeb接口
SQL Server索引的原理深入解析
SqlServer2016模糊匹配的三种方式及效率问题
SQL中Truncate的用法
sqlserver 多表关联时在where语句中慎用tri
链接服务器读取Mysql---出现消息 7347,级别
SQL Server解惑——为什么你拼接的SQL语句换
MySQL视图了解一下
laf.js - 开源的云开发框架(README.md)
javascript创建对象
Node.js 源码分析 - 从 main 函数开始
Node.js 源码分析 - 原生模块(C++模块)的注册
ECharts图标中用的js相关的处理方法
GoJS 使用笔记
单元测试 - 测试场景记录
Node.js 源码分析 - 加载 js 文件
ES6入门
聊聊动效降级