import time
import requests
import base64
import re
from H_m3u8DL import m3u8download
'''
这是我的思路,小白一枚,希望大佬多多指点,♪(・ω・)ノ
1.首先获取网站源代码 >>> response
2.接着获取播放视频的链接 >>> video_json 并进行组合,得到完整链接 >>>url_value
3.将获取播放视频的 m3u8 地址,得到一个加密 m3u8 >>> base64_str
4.然后将加密的 m3u8 文件解密,得到最终得到未加密的 m3u8 下载链接 >>> m3u8_true_url
5.最后通过 m3u8 下载工具,或者 python 里的 m3u8下载(需要先pip install H_m3u8DL)
注意!
下载视频的时候尽量别把线程数调大,对网站温柔一点
'''
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36'
}
def get_video_m3u8(url):
# 获取源网页代码
response = requests.get(url=url, headers=headers)
# 通过获取 var play = {} 数据,得到新的视频链接后面部分,得到的数据有双引号,加上eval,就可以去除双引号,我是这么理解的,O_o
video_json = eval(re.findall((r'var player_aaaa=(.*?)</script><script type='), (response.text), re.I)[0])
# 获取视频名称
video_name = video_json.get('vod_data').get('vod_name') + " 第" + str(video_json.get('nid')) + '集'
# 将得到的字符串进行组合,得到完整的真实网页视频播放界面
url_value = f"https://www.ysgc.vip/static/player/dplayer.php?url={video_json.get('url')}"
# 获取真实网页里的 URL 加密数据,后面解密就可以得到m3u8文件了
base64_str = re.findall('(?<!//)var urls = (.*?);', (requests.get(url=url_value, headers=headers)).text, re.I)[0]
# 解密 [14:-8] 的意思是删除前面14个字符,和后面8个字符
m3u8_true_url = (base64.b64decode(base64_str.encode()))[14:-8].decode('utf-8')
response.close()
# 下面这一步,其实我也不理解为啥这样做,但是不这么做就会报错,O_o
return video_name, m3u8_true_url
def download_video(url, path):
# 获取得到的 m3u8 链接和视频名称
title, m3u8url = get_video_m3u8(url)
# m3u8 下载器,按住键盘 Ctrl键并鼠标点击 m3u8download ,可以对 m3u8 下载器调整
m3u8download(m3u8url, title=title, work_dir=str(path))
# 分析视频播放页面链接,通过 for 循环,将所有集数进行下载
for lv in range(1, 481):
# f 后面的地址就是视频播放页面地址
download_video(f'https://www.ysgc.vip/vodplay/323-4-{lv}.html', ('K:/新建文件夹/动漫/蜡笔小新/蜡笔小新第一季/'))
print('>>>>>>>>>>>>>>>>>>> ' + '第 ' + str(lv) + ' 集写入完成!' + '\n')
time.sleep(10)// JSON Document
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
m3u8下载的Python爬虫.rar (1个子文件)
m3u8下载的Python爬虫.json 3KB
共 1 条
- 1
资源评论
moyigy
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功