-
用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
最新更新
Objective-C语法之代码块(block)的使用
VB.NET eBook
Add-in and Automation Development In VB.NET 2003 (F
Add-in and Automation Development In VB.NET 2003 (8
Add-in and Automation Development in VB.NET 2003 (6
Add-in and Automation Development In VB.NET 2003 (5
AddIn Automation Development In VB.NET 2003 (4)
AddIn And Automation Development In VB.NET 2003 (2)
Addin and Automation Development In VB.NET 2003 (3)
AddIn And Automation Development In VB.NET 2003 (1)
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
武装你的WEBAPI-OData入门
武装你的WEBAPI-OData便捷查询
武装你的WEBAPI-OData分页查询
武装你的WEBAPI-OData资源更新Delta
5. 武装你的WEBAPI-OData使用Endpoint 05-09
武装你的WEBAPI-OData之API版本管理
武装你的WEBAPI-OData常见问题
武装你的WEBAPI-OData聚合查询
OData WebAPI实践-OData与EDM
OData WebAPI实践-Non-EDM模式