因为 GF 有的时候让我给她提取微博上某个视频的文件,然后再发布到她们的网站上去,所以一开始考虑的是做一个 weibo 的 app ,通过 at 某个号就可以得到视频文件的地址,这样用起来也很方便,然而 weibo 的开放平台真的很不开放, API 也不那么好用:
最终做出来了,由于上面的原因,又删掉了代码,现在是主动提交地址解析,访问地址: https://lab.youth2009.org,提交视频地址后等几秒就可以了,支持直接写 t.cn 那样的短网址。
微博上的视频主要是秒拍
主要出现在
后两种提取方法一样,得到的都是在 gslb ( global server load balance)上的地址,当你请求的时候可以得到最快的 cdn 上的地址。这个地址可以自己拼也可以模拟秒拍调用他们 api 获取,我是模拟获取的。
第一种的视频地址来自 m3u8 文件, m3u8 文件的地址在页面中有,很容易找到,只是从一个视频页面到提取出视频文件链接需要经过几次请求,在 nodejs 中不好写,改成 promise 的写法可能会好。
目前部署在树莓派上,由于最近在搞前端的工作所以就学了点 nodejs 来做做熟悉熟悉,大约用了 express , kue , redis 等。
树莓派上官方库的 redis 是 2.4 版本的, kue 这个 job queue 要求最少需要 2.6 ,因为用了 script load 这个命令,所以最好自己在树莓派上编译最新的 redis ,稍微有点慢,但可以用。
虽然知道 js 中的异步无处不在,但写 nodejs 才体会到,用 kue 常遇到某个 job 卡在那里不动,主要原因就是 job handler 没有正确运行 done 来标记任务做完。
1
g5 2015-12-12 03:12:37 +08:00 via Android
考虑开源吗?
|
2
gaody 2015-12-12 04:41:41 +08:00
|
3
dawncold OP @gaody 确实,不过这个只支持了 video.weibo.com ,我还能多支持两种:)
|
5
ajan 2015-12-12 13:42:17 +08:00
书签小工具: http://fulicat.com/lab/bookmarklet.html
支持 秒拍,美拍,微录客 视频链接提取下载 |
6
dawncold OP @ajan 我试了下秒拍的小工具,不能用了, hard code 视频的 host 不一定能成功,除非所有视频都被推到了 cdn 上(当然应该是会的),最好直接拼 gslb 的地址,这样每次下载都能用最近 cdn
|
7
ajan 2015-12-13 18:12:33 +08:00
@dawncold 打开类似这样的 http://www.miaopai.com/show/DU8a-PmvUrRYwWnykoTggw__.htm 网址时是可以下载的
|
8
justyy 2016-11-01 07:56:27 +08:00
用这个, 免费好用, 亲测好用。 https://weibomiaopai.com/#api
|