【2023-3-19】蓝光影视下载器1.0(更新)
本帖最后由 话痨司机啊 于 2023-3-19 15:23 编辑# 前言
蓝光影视还是不错的网站(www.lgyy.vip),电影电视剧都还算高清。原先的代码已经不能用了,新的蓝光影视加入了反调试和m3u8地址加密;以下为更新后的代码。
# 声明
**软件仅供学习交流使用,禁止商业使用,禁止用来做危害网络安全的事情,因错误使用造成的危害由使用者负责。**
# 使用方法
解压缩后文件夹内urls.txt,打开后每行添加一个地址即可按顺序下载
# 注意
本人非代码使用者,只是写出来,未经测试,遇到bug请平台留言,欢迎各位互相交流,共同进步。
# 下载
- 一共是两个版本,源码和打包好的程序,修改完地址双击程序运行即可。
- 运行环境Python3.913 && win10
### **[点此下载](https://www.123pan.com/s/E3kbVv-bWRBH.html) 提取码:f9qD**
核心代码:
import base64
import json
import re
import time
from pathlib import Path
from urllib import parse
import requests
from hm3u8dl_cli import m3u8download
from loguru import logger
from lxml import etree
from urllib3 import disable_warnings
disable_warnings()
if not Path('logs').exists(): Path('log').mkdir(parents=True, exist_ok=True)
logger.add(f'logs/bluelog_{time.strftime("%Y%m%d_%H%M%S", time.localtime())}.log', level='INFO')
class BlueSpider:
def __init__(self, url):
self.url = url
self.headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.44',
'Host': 'www.lgyy.vip'
}
def get_html(self):
res = requests.get(self.url, headers=self.headers, verify=False)
res.encoding = 'utf-8'
return res.text
def parse_html(self, html):
# 解析网页,获取所有的标签
logger.info('开始解析网页')
selector = etree.HTML(html)
# 所有的标签
tags = selector.xpath('//div[@class="player-box-main"]//script/text()')
for i in tags:
if i.startswith('var player_aaaa'):
# 将Unicode转换为中文
_unicode = i.encode('utf8')
rx = _unicode.decode("unicode_escape")
rx = parse.unquote(rx)
rx = json.loads(rx.replace('var player_aaaa=', ''))
title = rx.get('vod_title')
_url = rx.get('url')
return title, _url
# 再次请求
def get_html_again(self, url):
url = f'https://www.lgyy.vip/static/player/ffzy.php?url={url}'
response = requests.request("GET", url, headers=self.headers, verify=False)
base64_url = re.findall(r'var\surl.*?;', response.text)
return base64_url
def decode_url(self, _url):
logger.info(f'开始解析{_url}')
xz = base64.b64decode(bytes(_url, encoding='utf-8'))
logger.info(f'解析完成后地址{xz.decode()}')
return xz.decode()
def downlaod_m3u8(self, title, m3u8_url):
logger.info(f'准备下载{title}')
m3u8download(m3u8_url, title)
logger.info(f'下载完成!')
@logger.catch
def run(self):
title, _url = self.parse_html(self.get_html())
base64_url = self.get_html_again(_url)
m3u8_url = self.decode_url(base64_url)
self.downlaod_m3u8(title, m3u8_url)
if __name__ == '__main__':
# 测试
target_url = "https://www.lgyy.vip/vodplay/84617-1-1.html"
BlueSpider(target_url).run()
效果图:
xitelexf 发表于 2023-3-19 11:27
怎么用啊?求助
已更新了~,把url.txt里的地址填好,按着上面的格式一行一个。运行程序。 龍謹 发表于 2022-8-2 10:44
我想说我是为着学习源码,不是为了下载影视来的,有人信吗?
巧了,我也是只学习技术,下载是啥??? 我想说我是为着学习源码,不是为了下载影视来的,有人信吗? 感觉还不错哦 下来看看 出错,用不了,麻烦楼主看下 这是什么东西,不会用呀,浪费时间 楼主辛苦了谢谢 感谢分享下载试试看 标记一下,谢谢楼主! 能下载阿凡达吗 感谢分享