话痨司机啊 发表于 2023-4-5 22:55

【6月21日更新】西瓜视频之电视剧电影纪录片下载程序 V4.0

本帖最后由 话痨司机啊 于 2023-7-15 07:51 编辑

演示视频:https://www.bilibili.com/video/BV1Zu411j7Mz/
# **如遇到问题请仔细阅读说明,有报错请联系楼主**
# **如遇到问题请仔细阅读说明,有报错请联系楼主**
# **如遇到问题请仔细阅读说明,有报错请联系楼主**

# 说明
西瓜视频下载现在有两部分不同源码,电视剧电影纪录片可以使用此下载器,其他短视频未测试,如果报错可以点击此链接使用我写的另一个西瓜下载器 ->"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
```

# 声明

软件仅供学习交流使用,禁止商业使用,禁止用来做危害网络安全的事情,因错误使用造成的危害由使用者负责。

# 源码运行环境
- windows 11/windows 10
- python3.10
- 关于python模块请自行安装
- 需要安装edge浏览器

# 更新
- 4月7日 更新进度条(原来的进度条是简易的,我手搓了一个新的,比较实用可以显示下载的状态速度等)
- 4月14日 更新GUI界面
- 6月21日 代码重构

# 优点
1. 可选择画质下载
2. 根据电脑的CPU核数自动生成线程数
3. 多线程下载

# 缺点
- 界面不美观

# 下载地址
## [点此下载](https://www.123pan.com/s/E3kbVv-TRRBH.html) **提取码:myxi**

# 核心代码(*喜欢研究的可以看这里*)
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("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)
            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


效果图:
2023年6月21日测试:


如遇到问题请仔细阅读说明,有报错请联系楼主


如遇到问题请仔细阅读说明,有报错请联系楼主







Monklamn 发表于 2023-4-6 09:02

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

用的应该是Windows Terminal

话痨司机啊 发表于 2023-6-21 22:58

ptrunner 发表于 2023-6-17 17:06
话痨司机啊 发表于 2023-6-17 16:56
发下网址
就是你的程序包里的https://www.ixigua.com/71860858817263 ...

已经更新了

话痨司机啊 发表于 2023-4-5 23:21

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

没设置,默认的

panpanxiang 发表于 2023-4-5 23:13

感谢分享

吾爱PYB 发表于 2023-4-5 23:18

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

Arcticlyc 发表于 2023-4-5 23:28

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

吾爱PYB 发表于 2023-4-5 23:35

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

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

X14 发表于 2023-4-5 23:40

有点复杂了,可以打包一下不

话痨司机啊 发表于 2023-4-5 23:41

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

用win11~~~

netpeng 发表于 2023-4-5 23:43

有了这个再也不怕没有素材了,感谢分享。

话痨司机啊 发表于 2023-4-5 23:43

X14 发表于 2023-4-5 23:40
有点复杂了,可以打包一下不

发的时候就两个版本,一个打包,一个源码,没点开吗?
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【6月21日更新】西瓜视频之电视剧电影纪录片下载程序 V4.0