#### 代码说明 前面发的100行代码下载xvideos网站视频下载的文章关注度真高,加上网站改版,so重新整理一下,验证日期2021.9
这篇文章仅用于同学们学习python,切勿过度使用。单身IT宅男福利,需要其他品质自行修改筛选
上一篇文章发的是做了图形界面并且多线程下载工具,无需运行环境windows直接运行,懒的撸代码可用。合并ts有顺序错乱是ts名排序问题,合并命令自行组合即可修复,图形下载工具无此问题
#### 运行环境
在python3中运行,只用到requests库。用了代理填上自己代理地址,不需要的自行修改requests中去掉proxies=proxies
代码原创,欢迎点赞留言
####全部代码
#coding=utf-8
import requests
import re
import os
#代理信息
proxy = '127.0.0.1:3080'
proxies = {"http":"http://{}/".format(proxy),"https":"http://{}/".format(proxy)}
#播放地址
url_play = input('输入播放地址:\n')
#获取ts列表url
res0 = requests.get(url=url_play,proxies=proxies).text
m3u8_url = re.search('setVideoHLS(.*)hls.m3u8',res0).group(0)
m3u8_url = 'http' + m3u8_url.split('http')[1]
print('m3u8_url:{}'.format(m3u8_url))
#获取ts列表1080p名称
n3u8file = requests.get(m3u8_url,proxies=proxies).text
ts1080_name = re.search('hls-1080p-(.*).m3u8',n3u8file).group(0)
print(ts1080_name)
#获取1080p的ts列表内容
head_url = m3u8_url.rsplit("/",1)[0] + '/'
ts1080_url = head_url + '/' + ts1080_name
res1 = requests.get(ts1080_url,proxies=proxies).text
ts_list = re.findall('hls.*.ts.*',res1)
print('ts_list:',ts_list)
#构建1080p ts下载地址
ts_url_list = []
for ts in ts_list:
tsurl = head_url + ts
ts_url_list.append(tsurl)
print(ts_url_list)
##########################下载#############################
pwd = os.getcwd()
for t,u in zip(ts_list,ts_url_list):
if '?' in t:
t = t.split('?')[0]
print('downloading {}'.format(t))
try:
res666 = requests.get(u,proxies=proxies)
with open('{}/{}'.format(pwd, t), 'wb') as f:
f.write(res666.content)
except:
print('download {} error'.format(t))
###########################合并#################################
mkmp4 = 'copy /b {}\\*.ts {}.mp4'.format(pwd,ts1080_name)
rmts = 'del {}\\*.ts'.format(pwd)
print('开始构建mp4文件。。。')
os.system(mkmp4)
print('删除临时ts文件。。。')
os.system(rmts)
print('sussaceful')
#### 使用说明
1. ?复制粘贴播放地址 2.? 回车开始下载
|