https://github.com/iawia002/annie
程序运行速度比 Python 写的工具提升很多(这不废话吗哈哈哈哈哈哈),下载速度也有提升,针对那些分了片的视频,用了 goroutine,总体速度提升很多
$ annie -c cookies.txt https://www.bilibili.com/video/av20203945/ Site: 哔哩哔哩 bilibili.com Title: [ 2018 拜年祭单品] 相遇 day by day Type: video Quality: 高清 1080P60 Size: 220.65 MiB (231363071 Bytes) 2.06 MiB / 220.65 MiB [>-----------------------------] 0.93% 1.94 MiB/s 1m52s
现在大视频网站只支持 B 站,优酷,YouTube,爱奇艺和芒果 TV
最后,静态编译型语言真 TM 爽
![]() | 1 AlwaysBehave 2018-03-19 20:05:07 +08:00 via Android 正好在计划类似项目 找时间看看 pr 一波 |
2 iawia002 OP ![]() @AlwaysBehave 欢迎 PR ! |
![]() | 3 fhefh 2018-03-19 20:06:28 +08:00 谢谢楼主 学习了~ |
4 iawia002 OP ![]() 现在基础的功能都有,断点续传,带 cookies 访问,支持 http 代理和 socks5 代理 |
![]() | 6 AlwaysBehave 2018-03-19 20:09:24 +08:00 via Android 说个小建议:bilibili 的 key 做成动态获取的 写死 build 很难受 类似的都可以这样做一下 我记得类似的有 bilibili for mac |
7 justfortest 2018-03-19 20:09:29 +08:00 学习了 |
8 FrankAdler 2018-03-19 20:10:13 +08:00 最近在写 go 项目, 参考下 |
![]() | 10 frozenthrone 2018-03-19 20:11:36 +08:00 via iPhone 求支持 avgle |
11 iawia002 OP @AlwaysBehave 你是说那个 seckey 吗,那个不能动态获取的,那个是写死的,现在的都不知道是哪位大神从 Android 客户端逆向出来的 |
![]() | 12 hlwjia PRO 为什么起名 annie,请说出你的故事 |
![]() | 13 hlwjia PRO |
![]() | 16 anyfc 2018-03-19 20:40:10 +08:00 下载 youku 视频的时候,提示: 客户端无权播放,201 怎么解决 |
![]() | 17 admirez 2018-03-19 20:41:58 +08:00 为什么起名 annie,请说出你的故事 |
![]() | 18 pathbox 2018-03-19 20:43:35 +08:00 via iPhone YouTube 要代理吗? |
![]() | 19 expy 2018-03-19 20:54:34 +08:00 用过 lulu,star 感谢一波! |
![]() | 20 lixuda 2018-03-19 20:58:01 +08:00 go 代替 python 节奏 |
![]() | 21 itfanr 2018-03-19 21:15:43 +08:00 via Android 好东西 |
![]() | 22 moro 2018-03-19 21:22:51 +08:00 学习 |
23 iawia002 OP 哎,刚才回复太快了,被禁了好久啊(哇,很惨啊,我就连回了两条消息),大家的问题我慢慢回吧 @frozenthrone avgle 这是什么网站啊,看名字难道是?我不知道他们的网页或者 api 怎么样,不好评估难度。我知道 pornhub 和 91 的视频都不难 @anyfc 那是因为 ccode 不对优酷出的提示,我都用了多个 ccode 来一个个试了都还不行啊,我呆会儿看看(单元测试为证,昨天都还可以) @admirez 别闹,取名字真的很难 @pathbox 肯定要呀 |
![]() | 24 bigtan 2018-03-19 21:56:40 +08:00 ![]() 提了个 issue youtube 的视频下载以后,rename 失败; 支持楼主添加 91 |
25 iawia002 OP ![]() |
![]() | 26 winglight2016 2018-03-19 22:16:22 +08:00 怎么控制视频质量呢?我用默认命令下载的视频分辨率是最小的 |
27 mingyun 2018-03-19 22:24:58 +08:00 为什么安装失败 fatal: unable to access 'https://github.com/iawia002/annie/': error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version package github.com/iawia002/annie: exit status 128 |
28 iawia002 OP @winglight2016 现在不支持选视频质量,但是 annie 都是下的最高清晰度的呀,你下载的哪个地址? |
29 iawia002 OP @mingyun 咦,你是怎么安装的,go get?,你这个报错信息看起来是网络问题呀,不行就下 https://github.com/iawia002/annie/releases,这个应该是下下来就能跑的 |
![]() | 30 winglight2016 2018-03-19 22:30:37 +08:00 @iawia002 是我搞错了,一直以为 youtube 上最低都是 720p,谁知道这个是 360p 就这个视频,网页上看是很清晰的: |
31 iawia002 OP @winglight2016 不是我的问题就好哈哈哈哈哈哈 |
![]() | 32 winglight2016 2018-03-19 22:42:13 +08:00 @iawia002 我正在学 go,还要跟 lz 多学习 |
![]() | 33 wspsxing 2018-03-19 22:45:27 +08:00 start + 1 楼主厉害啦,自从 fx 57+后 flash-get 不能用了,总想找个或搞个下载 b 站视频的。 |
![]() | 34 mashirozx 2018-03-19 22:51:57 +08:00 活捉! |
![]() | 37 affyun 2018-03-19 23:00:14 +08:00 请问下载 youtube 的 playlist 时能跳过里面失效的视频吗? |
38 iawia002 OP @affyun 现在 Youtube 还不支持 playlist 下载哦,现在只有 b 站支持 playlist 以后要支持的话应该可以吧,你的意思就是只下载这个列表里面能下载的嘛? |
![]() | 39 affyun 2018-03-19 23:11:09 +08:00 @iawia002 #38 视频被删除或者设置为私享后就不能访问了。如果 playlist 里有这类视频的话,用 youtube-dl 会到那个视频就停止下载 |
![]() | 40 cchange 2018-03-19 23:12:55 +08:00 请问是用什么软件开发的? 是 JetBrain 的 go 语言 IDE 吗? 实在是新手 见谅 |
41 iawia002 OP @affyun 哦它应该是 youtube 返回错误它就退出整个程序了,annie 现在还不知道以后这种情况怎么处理哎,以后增加了播放列表功能我再看看能不能实现你的求吧 |
43 zhongjidalao 2018-03-19 23:30:08 +08:00 you-get 最近不能用了,你这个很厉害,已经点 start |
45 iawia002 OP @zhongjidalao 你知道 lulu 吗,一个 you-get 的 fork,lulu 应该还是能用的,只是没有 annie 快哈哈哈哈哈哈 |
![]() | 46 wweir 2018-03-20 07:47:02 +08:00 via Android Go 替代 python 是波大节奏了,支持一下 |
47 iawia002 OP 谈不上替代 python 吧,只是感觉这个场景适合 Go,需要速度,而且静态语言好维护 |
![]() | 48 liangzi 2018-03-20 08:13:20 +08:00 via Android mark 感谢分享 |
49 iawia002 OP 但是 Go 调试起来确实比 python 差太远了啊,还是我 pdb 好用,毕竟解释型语言,可以各种折腾 @cchange 想起来了,调试有个工具叫 Delve,我还没用过,应该比 gdb 好用 |
![]() | 50 seers 2018-03-20 08:48:35 +08:00 感谢,前两天还用了 lulu |
51 yedashuai 2018-03-20 09:21:30 +08:00 火速 star,you-get 还在使用,就是从 you-get 开始入了 Python 的坑,看来又要从你这个 Annie 入 go 的坑了!!! |
52 iawia002 OP Golang 欢迎你 |
53 shuianfendi6 2018-03-20 09:29:55 +08:00 @iawia002 大佬,annie 下 b 站经常下不完,下载 100%了去掉.download 也会提示权限失败,需要提 issue 么 |
![]() | 54 cozzz 2018-03-20 09:30:48 +08:00 via iPhone prpr |
55 iawia002 OP @shuianfendi6 你是说报错了是吧,net/http: request canceled (Client.Timeout exceeded while reading body),这样的报错吗,那是网络原因下载中断了,你再执行一次命令就好了,有断点记录的,会从断的地方开始下 |
![]() | 56 123s 2018-03-20 09:39:15 +08:00 建议支持 tumblr |
![]() | 58 OMGZui 2018-03-20 09:43:47 +08:00 支持一波 |
59 iawia002 OP |
60 archknight 2018-03-20 09:50:27 +08:00 好厉害。 |
61 missdeer 2018-03-20 10:08:47 +08:00 终于有用 go 写的这种工具了,star 一个 |
![]() | 62 caoyufei 2018-03-20 10:21:38 +08:00 已 star,在多支持些站点更好 |
63 iawia002 OP |
![]() | 64 AlwaysBehave 2018-03-20 10:40:53 +08:00 via Android @iawia002 那个也会变啊… TYPCN 的 Bilibili for mac 就是这样做的啊 |
65 iawia002 OP @AlwaysBehave 那个 key 是算出来的?我一直觉得是 B 站写死的,他们好像定期会更新 |
66 fork 2018-03-20 10:51:34 +08:00 本来想干移植 youtube-dl 这件事, 果然已经有人干了,晚上回家试试,python 的 youtube-dl 确实做的不错的。 |
![]() | 67 orangeade 2018-03-20 10:58:39 +08:00 python 版上 asyncio 的话下载速度是不是也有提升,我看 requests 作者已经开始为 requests 加入 asyncio 了 |
![]() | 68 hahasong 2018-03-20 11:05:09 +08:00 youtube-dl 如何把 1080p 视频跟音频合在一起,直接给出的格式里只有 1080p 视频无音轨 |
69 iawia002 OP |
![]() | 70 ango 2018-03-20 11:45:41 +08:00 厉害,学习一下。star~ |
![]() | 71 wyd2004 2018-03-20 12:06:26 +08:00 学习一下. 已 star. |
![]() | 72 AlwaysBehave 2018-03-20 12:10:45 +08:00 via Android @iawia002 是解包出来的,TYPCN 虚拟机跑 apk 从内存 dump 出来 key 的,做了自动化 不知道现在还是这个样子不 |
73 iawia002 OP @AlwaysBehave 卧槽这个方法可以啊, |
74 JhZ7z587cYROBgVQ 2018-03-20 12:16:21 +08:00 速度大概提升了多少啊?一直以为下载工具的瓶颈在网络 io |
![]() | 75 mxalbert1996 2018-03-20 12:22:11 +08:00 via Android B 站支持大会员清晰度吗?支持的话还是相当优秀的 |
76 iawia002 OP @jason0916 具体的没有测试过哎,毕竟编译型语言,各种响应速度都比 Python 快 @mxalbert1996 必须支持啊(前提是你有 B 站大会员的 cookies 啊),你看我上面主题介绍里面那个视频,就是我带我的大会员账号的 cookies 下载的,高清 1080P60,大会员专属。B 站大概是我支持最好的网站了哈哈哈哈哈哈,因为我,iawia002,住 B 站 |
![]() | 77 jaycee110905 2018-03-20 13:06:33 +08:00 超棒 |
78 lsls931011 2018-03-20 13:30:36 +08:00 我本来也想这么做的 @iawia002 |
79 iawia002 OP @lsls931011 那就一起搞啊 ![]() |
80 lsls931011 2018-03-20 13:37:41 +08:00 @iawia002 找到组织了, 找时间开搞 |
81 shuianfendi6 2018-03-20 13:43:28 +08:00 |
82 alittlewhitea 2018-03-20 14:20:55 +08:00 嗯..那个..tumblr 可以吗 |
83 iawia002 OP ![]() @alittlewhitea tumblr 的需求这么高的吗 @123s 也提了这个,现在已经支持图片下载了(不过还没发版本),视频的话还要等等,你们的主要需求是图片还是视频呀 |
84 alittlewhitea 2018-03-20 14:30:57 +08:00 @iawia002 嗯..视频 |
85 iawia002 OP @alittlewhitea 我肤浅地问一句,是用来开..开车吗 |
87 iawia002 OP 那用 91 或者 pornhub 开不是更快吗哈哈哈哈哈哈 tumblr 的很多视频都是 vimeo 或者其他网站上的,也就是说要支持 tumblr,我还得先支持 vimeo 那些 有没有人能私聊我一辆车的地址啊,我看下页面的结构,看那种视频是存在 tumblr 上还是外站的 |
![]() | 88 cevincheung 2018-03-20 15:36:40 +08:00 要是能有个 chrome 插件,正在看哪个视频就点一下自动带 cookies 过去然后就开始下载……美滋滋 |
89 iawia002 OP @cevincheung 想法不错 |
![]() | 90 xuanyuanaosheng 2018-03-20 17:38:09 +08:00 via Android mark 一下,有空测试下 |
![]() | 91 unique 2018-03-20 19:44:33 +08:00 via iPhone 感谢楼主分享,已 star |
92 iawia002 OP @123s @alittlewhitea 发车了,0.5.0 支持 tumblr 下载图片,站内视频下载( tumblr 很多视频是外链的 vimeo,ins 等等,这些暂不支持) |
![]() | 93 123s 2018-03-20 22:02:13 +08:00 好快 |
![]() | 95 solaro 2018-03-21 10:22:18 +08:00 膜拜大佬 |
![]() | 97 wwqgtxx 2018-03-21 10:46:32 +08:00 个人感觉这一类下载解析软件对性能要求并不高,剩下就是网络库的优化了 |
![]() | 100 lixuda 2018-03-21 13:24:14 +08:00 有没有 exe 编译版本 |