提取微博上视频的工具

2015-12-11 21:20:16 +08:00
 dawncold

因为 GF 有的时候让我给她提取微博上某个视频的文件,然后再发布到她们的网站上去,所以一开始考虑的是做一个 weibo 的 app ,通过 at 某个号就可以得到视频文件的地址,这样用起来也很方便,然而 weibo 的开放平台真的很不开放, API 也不那么好用:

  1. at 的评论数据有时有有时没有
  2. at 的微博数据直接没有,但能给你显示有多少条记录,邮件沟通无果

最终做出来了,由于上面的原因,又删掉了代码,现在是主动提交地址解析,访问地址: https://lab.youth2009.org,提交视频地址后等几秒就可以了,支持直接写 t.cn 那样的短网址。

解决方法

微博上的视频主要是秒拍

主要出现在

  1. video.weibo.com
  2. ent.v.sina.cn
  3. www.miaopai.com/show/

后两种提取方法一样,得到的都是在 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 来标记任务做完。

5838 次点击
所在节点    分享创造
8 条回复
g5
2015-12-12 03:12:37 +08:00
考虑开源吗?
gaody
2015-12-12 04:41:41 +08:00
dawncold
2015-12-12 13:10:11 +08:00
@gaody 确实,不过这个只支持了 video.weibo.com ,我还能多支持两种:)
dawncold
2015-12-12 13:10:59 +08:00
@g5 js 代码写的不好,这个原理不复杂,应该用不着开源吧
ajan
2015-12-12 13:42:17 +08:00
书签小工具: http://fulicat.com/lab/bookmarklet.html
支持 秒拍,美拍,微录客 视频链接提取下载
dawncold
2015-12-13 00:29:51 +08:00
@ajan 我试了下秒拍的小工具,不能用了, hard code 视频的 host 不一定能成功,除非所有视频都被推到了 cdn 上(当然应该是会的),最好直接拼 gslb 的地址,这样每次下载都能用最近 cdn
ajan
2015-12-13 18:12:33 +08:00
@dawncold ​打开类似这样的  http://www.miaopai.com/show/DU8a-PmvUrRYwWnykoTggw__.htm  网址时是可以下载的
justyy
2016-11-01 07:56:27 +08:00
用这个, 免费好用, 亲测好用。 https://weibomiaopai.com/#api

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/242922

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX