提取微博上视频的工具 - V2EX
爱意满满的作品展示区。
dawncold

提取微博上视频的工具

  •  
  •   dawncold
    dawncold Dec 11, 2015 6517 views
    This topic created in 3808 days ago, the information mentioned may be changed or developed.

    因为 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 来标记任务做完。

    Supplement 1    Dec 14, 2015
    追加一个坑,我用了全局的 regexp 来搜索 response body ,但没有在每次搜索前重置 lastIndex ,也就会导致第一次可以,第二次搜不到,第三次又可以,因为第二次会从 lastIndex 开始搜索!!

    刚开始有个地方又忘记标记 job done ,挤压了几十个不能处理新的请求了。
    Supplement 2    Dec 14, 2015
    修改了一下 URL ,目前是: https://lab.youth2009.org/video
    8 replies    2016-11-01 07:56:27 +08:00
    g5
        1
    g5  
       Dec 12, 2015 via Android
    考虑开源吗?
    gaody
        2
    gaody  
       Dec 12, 2015
    dawncold
        3
    dawncold  
    OP
       Dec 12, 2015
    @gaody 确实,不过这个只支持了 video.weibo.com ,我还能多支持两种:)
    dawncold
        4
    dawncold  
    OP
       Dec 12, 2015
    @g5 js 代码写的不好,这个原理不复杂,应该用不着开源吧
    ajan
        5
    ajan  
       Dec 12, 2015
    书签小工具: http://fulicat.com/lab/bookmarklet.html
    支持 秒拍,美拍,微录客 视频链接提取下载
    dawncold
        6
    dawncold  
    OP
       Dec 13, 2015
    @ajan 我试了下秒拍的小工具,不能用了, hard code 视频的 host 不一定能成功,除非所有视频都被推到了 cdn 上(当然应该是会的),最好直接拼 gslb 的地址,这样每次下载都能用最近 cdn
    ajan
        7
    ajan  
       Dec 13, 2015
    @dawncold 打开类似这样的  http://www.miaopai.com/show/DU8a-PmvUrRYwWnykoTggw__.htm  网址时是可以下载的
    justyy
        8
    justyy  
       Nov 1, 2016
    用这个, 免费好用, 亲测好用。 https://weibomiaopai.com/#api
    About     Help     Advertise     Blog     API     FAQ     Solana     3042 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 101ms UTC 07:13 PVG 15:13 LAX 00:13 JFK 03:13
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86