You-Get Python实现多网站视频下载

2018-12-14  本文已影响0人  ayuLiao

这是Hackpython第一篇文章,比较草率,本想做在线教育的,无奈,时间比较有限,而且目前也没得到什么正反馈,所以这个号目前的职责是分享出我看见的与Python有关或无关的东西,前路慢慢,随便看看,随便聊聊。

今天回炉微积分,想将相应的视频都下载下来,这个需求泛化一下就是下载各个视频网站上的视频,国内的环境造就了很多视频网站都是所谓的VIP,这个文章最后提几个思路,先看如何下载这个普通网站上的视频。

自己解析url获得下载url不是不行,而是太累,懒使人进步,不想做那么多,所以必须优化步骤,这里一样。自己的需求不特别,那么肯定有相应的工具,如parsevideo

https://www.parsevideo.com/

支持你见过或没见过的大多数网站,自己写个简单爬虫,将网站url获取,并传到这个网站上获得真实的URL则可。

嗯....不想动手写爬虫,所以找到了You-GET

https://github.com/soimort/you-get

人气很高,比较靠谱,安装简单,直接看文档则可。

用法就很简单了

  1. you-get 'https://www.youtube.com/watch?v=jNQXAC9IVRw'

其他细节

  1. you-get 'url'      # 最简单的下载

  2. you-get -i 'url'   # 列出视频信息,可以看到该网页提供的视频的信息,一般默认的就好,但有时候也有更高清的可供选择,通过这种方式可以获取其itag,然后用下面的方式进行下载

  3. you-get --itag=127 'url'   # 下载指定质量的视频,国内网站一般默认就是最高清的,但是国外的还有更高清的

  4. you-get -x 127.0.0.1:8118 'url'    # 设置http代理

当然,也可以在代码中使用,所以爬取各大视频网站中免费视频的逻辑也就有了,普通的url获取爬虫,然后将爬取的url交个you-get下载,如下

  1. from you_get.extractors import *    # 可以获取到各个网站的下载器

  2. download_urls([url], title, 'mp4', 0, './videos')

当然,我个人还行喜欢用命令行的方式,结合在代码中一样使用

  1. def cmd_download(url, filename):

  2.    info = os.system(r'you-get --debug -o C:\Users\rHotD\Downloads\wangyi_open\Linear_algebraic_exercises -O {} {}'.format(filename, url))

  3.    print(info)

  4.    return 1

you-get的关键词就这么多,细节都可以自己搜索。

至于怎么破解VIP,思路有两个

1.共享会员,Android下有成熟的软件了,用过,比较稳。 2.强行突破,原理其实是你请求了对方服务器,对方服务器中有VIP,通过VIP账号,可以获得加密后的正式URL,解密则可,这应该要比较高的JS技巧。

两种途径:

http://tv.dsqndh.com/

油猴脚本 https://greasyfork.org/zh-CN

下一篇预告,写python爬虫的代理,因为最近老是看见,“听说你写了个爬虫没几下就被封了”的卖课推广文章,目前这个号只有5个粉丝,应该是没人找我写卖课推广了,所以,只能自己分享点。

坑:you-get有时下载会断,使用时自己做好异常处理。

上一篇下一篇

猜你喜欢

热点阅读