栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python实战:为了看动漫,解析视频网站,进行本地存储。

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python实战:为了看动漫,解析视频网站,进行本地存储。


为了看动漫无职转生,找到了一个网站,进行本地存储,同样的ts文件。

文章目录

1、访问网站2、保存路径3、m3u8路径4、对每个ts文件进行请求效果图 代码整合


1、访问网站

提示:一定要带上user-agen。

2、保存路径

3、m3u8路径

4、对每个ts文件进行请求

提示:每请求一次就存入一次,全部合成会报错。

效果图

代码整合
import re
from tqdm import tqdm
import requests
from lxml import etree
import os


headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'
}


url_l = 'http://www.ynzdhc.com/cc_play/bJDW5N-1-2.html'             #首页url

res_list = requests.get(url_l,headers=headers)                  #第一次请求找到电影名字

r = etree.HTML(res_list.text)

name = "".join(r.xpath('//div[@]//text()')).strip()            #电影名字

outfile_name = 'D:/PyCharm 2021.2.2/viodes' + name + '.mp4'            #保存路径

if os.path.exists(outfile_name):                #判断是否存在相同名字的电影,存在就删除。
    os.remove(outfile_name)

m3u8_list = ''.join(re.findall('url":"(.*?)","url_next',res_list.text)[0].split('\'))          #找到m3u8的url进行请求

resq_m3u8=  requests.get(m3u8_list,headers=headers)

m3u8 = m3u8_list.split('.com')[0]+'.com' +''.join(re.findall('n(.*?).m3u8',resq_m3u8.text))+'.m3u8'        #从M3u8找到正确的路径请求

m3u8_ts =requests.get(m3u8,headers=headers)

url_date =  re.findall(r'EXTINF:.*,n(.*?)n', m3u8_ts.text)            #找到每个ts文件

for url_ts in tqdm(url_date,desc=f"正在请求 {name}"):                     # 将每个ts文件进行请求


    link_content = requests.get(url_ts, headers=headers, timeout=25).content  # 字节模式进行请求

    with open(outfile_name, 'ab+') as f:
        f.write(link_content)  # 打开文件进行存储


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/725743.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号