you-get 下载优酷视频时遇到的问题

看三国演义,觉得诸葛亮被唐国强演的太水;
想起儿时看的电视剧《诸葛亮》;
是李法曾饰演的;
查了一下是1985年武汉电视台摄制;
甚是经典;
查了一下,找不到下载的种子;
视频优酷有;
于是想到用you-get进行下载;

代码如下:

import sys
import you_get


def download(url, path):
    sys.argv = ['you-get', '--format=mp4hd', '-o', path, url]

    you_get.main()


if __name__ == '__main__':
    # 视频网站的地址
    url = 'https://v.youku.com/v_show/id_XMjk1OTEyNTE2OA==.html?spm=a2hbt.13141534.1_2.d1_10&f=50671414'
    # 视频输出的位置
    path = '诸葛亮/'
    download(url, path)

-o 是输出路径, path与它对应
--format用来获取视频格式
you-ge的视频格式: 3gphd、mp4hd2、flvhd、mp4hd2v2、mp4sd、mp4hd

如果不设置'--format=mp4hd';
则视频默认下载最高画质;
这个视频最高画质应该是'--format=mp4hd2',我测试过了;
下载确实能下载,但是文件被分成了若干块,没有合并;
you-get应该是自动合并视频,为什么没有合并呢?
猜测最高画质VIP才能下载,可能是动了手脚;
于是降低画质为'--format=mp4hd',这次没有让我失望,文件成功下载并合成为一个文件;
尽管不是最佳,但完全可以接受;

接下来我又把14集的所有链接放到一个列表里;
想通过遍历进行下载;

但是却报错了:

you-get: 用户账户异常、请重新登录

发现如果我打开并播放视频;
这样有时可以正常下载看三国演义,觉得诸葛亮背唐国强演的太水;
想起儿时看的电视剧《诸葛亮》;
是李法曾饰演的;
查了一下是1985年武汉电视台摄制;
甚是经典;
查了一下,找不到下载的种子;
视频优酷有;
于是想到用you-get进行下载;

代码如下:

import sys
import you_get


def download(url, path):
    sys.argv = ['you-get', '--format=mp4hd', '-o', path, url]

    you_get.main()


if __name__ == '__main__':
    # 视频网站的地址
    url = 'https://v.youku.com/v_show/id_XMjk1OTEyNTE2OA==.html?spm=a2hbt.13141534.1_2.d1_10&f=50671414'
    # 视频输出的位置
    path = '诸葛亮/'
    download(url, path)

如果不设置'--format=mp4hd';
则视频默认下载最高画质;
这个视频最高画质应该是'--format=mp4hd2',我测试过了;
下载确实能下载,但是文件被分成了若干块,没有合并;
you-get应该是自动合并视频,为什么没有合并呢?
猜测最高画质VIP才能下载,可能是动了手脚;
于是降低画质为'--format=mp4hd',这次没有让我失望,文件成功下载并合成为一个文件;
尽管不是最佳,但完全可以接受;

接下来我又把14集的所有链接放到一个列表里;
想通过遍历进行下载;
但是却报错了:

you-get: 用户账户异常、请重新登录

发现如果我打开并播放视频;
这样有时可以正常下载,有时候又不行了;
查了一些资料,需要加载cookies;
而且需要用到Firefox浏览器

  • 首先需要安装Firefox浏览器
  • 然后打开要看的视频
  • 获取视频网址
  • 之后获取cookies.sqlite文件
    我的文件在‘C:\Users\Administrator\AppData\Roaming\Mozilla\Firefox\Profiles\vneqvo5k.default-release’目录下;
    把cookies.sqlite复制到代码目录下


    image.png

新的代码如下:

import sys
import you_get


def download(url, path):
    sys.argv = ['you-get','-c','cookies.sqlite' ,'--format=mp4hd', '-o', path, url]

    you_get.main()


if __name__ == '__main__':
    # 视频网站的地址
    # url = 'https://v.youku.com/v_show/id_XMjk1OTE3NzQxNg==.html?spm=a2hbt.13141534.1_2.d1_6&f=50671414'
    urls = ['https://v.youku.com/v_show/id_XMjk1OTE3Mjg1Mg==.html?spm=a2hbt.13141534.1_2.d1_5&f=50671414',
            'https://v.youku.com/v_show/id_XMjk1OTE3Mjg5Mg==.html?spm=a2hbt.13141534.1_2.d1_4&f=50671414',
            'https://v.youku.com/v_show/id_XMjk1OTE3ODY0MA==.html?spm=a2hbt.13141534.1_2.d1_3&f=50671414',
            'https://v.youku.com/v_show/id_XMjk1OTIyODg3Mg==.html?spm=a2hbt.13141534.1_2.d1_2&f=50671414']
    # 视频输出的位置
    path = '诸葛亮/'
    for url in urls:
        download(url, path)

这样就可以把地址写在列表里了!

测试成功!

you-get: Found cna in imported cookies. Use it
site:                优酷 (Youku)
title:               电视剧《诸葛亮》李法曾版 10
stream:
    - format:        mp4hd
      container:     mp4
      video-profile: 高清
      size:          176.1 MiB (184631484 bytes)
      m3u8_url:      http://pl-ali.youku.com/playlist/m3u8?vid=XMjk1OTE3NzQxNg&type=hd&ups_client_netip=6a764e15&utid=C8fnFlp1yHkCAWp2ThXPBoQm&ccode=0519&psid=fa47428299b7694ad387ee36b1cf424c&ups_userid=800488412&ups_ytid=800488412&duration=2028&expire=18000&drm_type=1&drm_device=0&ups_ts=1583405742&onOff=0&encr=0&ups_key=8af5ed68df12f18f28e7a31d688c08e1
    # download-with: you-get --format=mp4hd [URL]

Downloading 电视剧《诸葛亮》李法曾版 10.mp4 ...
 100% (176.1/176.1MB) ├████████████████████████████████████████┤[6/6]  558 kB/s
Merging video parts...
诸葛亮/电视剧《诸葛亮》李法曾版 10[00].mp4
诸葛亮/电视剧《诸葛亮》李法曾版 10[01].mp4
诸葛亮/电视剧《诸葛亮》李法曾版 10[02].mp4
诸葛亮/电视剧《诸葛亮》李法曾版 10[03].mp4
诸葛亮/电视剧《诸葛亮》李法曾版 10[04].mp4
诸葛亮/电视剧《诸葛亮》李法曾版 10[05].mp4
Merged into 电视剧《诸葛亮》李法曾版 10.mp4

你可能感兴趣的:(you-get 下载优酷视频时遇到的问题)