西瓜视频之电视剧电影纪录片下载V3.0

查看 139|回复 10
作者:话痨司机啊   
说明
西瓜视频下载现在有两部分不同源码,电视剧电影纪录片可以使用此下载器,其他短视频未测试,如果报错可以点击此链接使用我写的另一个西瓜下载器 ->"https://www.52pojie.cn/thread-1746516-1-1.html"
支持的URL地址格式:
// urls.txt
# 每行一个url
https://www.ixigua.com/7186085881726370363
https://www.ixigua.com/7186085881726370363?id=7188812014792213029&logTag=3e22e05fa24917c3eb2b
https://www.ixigua.com/7186085881726370363?id=7188812014792213029
注意
第一次下载可能需要手动粘贴cookies,下载过程请勿关闭西瓜下载页面(具体cookies获取方法请百度)
声明
软件仅供学习交流使用,禁止商业使用,禁止用来做危害网络安全的事情,因错误使用造成的危害由使用者负责。
源码运行环境
  • windows 11/windows 10
  • python3.10
  • 关于python模块请自行安装

    更新
  • 4月7日 更新进度条(原来的进度条是简易的,我手搓了一个新的,比较实用可以显示下载的状态速度等)

    优点
    [ol]
  • 自动检查Cookie是否过期
  • 可选择画质下载
  • 根据电脑的CPU核数自动生成线程数
  • 多线程下载
    [/ol]
    缺点
  • 无UI界面

    下载地址
    点此下载 提取码:myxi
    [Python] 纯文本查看 复制代码# 核心代码(*喜欢研究的可以看这里*)
    class XiGua:
        """西瓜下载API"""
        def __init__(self, url: str):
            self.main_url = url
            self.app_url_num = url.rsplit('/', 1)[-1]
            self.api_headers = {'referer': url}
            self.main_headers = {
                'cookie': utils.read_cookies(),
                'referer': url,
                '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.62'
            }
            self.base_url = 'https://www.ixigua.com/api/albumv2/details?albumId='
            self.url = self.base_url + self.app_url_num
            self.title = ''
            self.video_list: list = []
        def get_json(self):
            response_json = requests.get(self.url, headers=self.api_headers).json()
            for i, v in response_json['data']['videoResource']['normal']['video_list'].items():
                mv = MateVideo()
                # 画质 base64url
                mv.videoinfo[v.get('definition', "unfound")] = v.get("backup_url_1", "unfound")
                self.video_list.append(mv)
        def get_title(self, trynum=3):
            try:
                response = requests.get(self.main_url, headers=self.main_headers)
                response.encoding = 'utf8'
                html = etree.HTML(response.text)
                title = html.xpath(request_parmas.title_xpath)[0]
                if title:
                    self.title = title
                    logger.logger.info(f'获取标题:{title}')
                else:
                    raise ValueError('cookies 过期')
            except:
                logger.logger.warning("cookies已经过期,请刷新页面,重新获取cookies并粘贴,下载时请勿关闭页面")
                utils.check_cookie()
                if trynum > 0:
                    self.get_title(trynum - 1)
                else:
                    logger.logger.error("重试次数耗尽,请重新运行此程序")
                    raise ValueError
    效果图:


    1.png (45.92 KB, 下载次数: 0)
    下载附件
    2023-4-5 22:55 上传



    2.png (81.35 KB, 下载次数: 0)
    下载附件
    2023-4-5 22:55 上传

    手搓了一个新的进度条效果图


    Snipaste_2023-04-07_17-50-50.png (119.58 KB, 下载次数: 0)
    下载附件
    2023-4-7 17:53 上传



    3.png (18.96 KB, 下载次数: 0)
    下载附件
    2023-4-5 22:55 上传

    西瓜, 下载次数

  • 话痨司机啊
    OP
      


    吾爱PYB 发表于 2023-4-5 23:18
    大哥,你powershell怎么配置的?好美观,能否把配置发个截图?

    没设置,默认的
    Monklamn   


    吾爱PYB 发表于 2023-4-5 23:18
    大哥,你powershell怎么配置的?好美观,能否把配置发个截图?

    用的应该是Windows Terminal
    panpanxiang   

    感谢分享
    吾爱PYB   

    大哥,你powershell怎么配置的?好美观,能否把配置发个截图?
    Arcticlyc   

    感谢分享,正愁没办法下载西瓜视频上的剧呢
    吾爱PYB   


    话痨司机啊 发表于 2023-4-5 23:21
    没设置,默认的

    发个链接呗,我的跟你的不一样
    X14   

    有点复杂了,可以打包一下不
    话痨司机啊
    OP
      


    吾爱PYB 发表于 2023-4-5 23:35
    发个链接呗,我的跟你的不一样

    用win11~~~
    netpeng   

    有了这个再也不怕没有素材了,感谢分享。
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部