当前位置:博客首页>>分享经验 >> 阅读正文

天猫商品详情页视频的下载的思路

作者: 郑晓 分类: 分享经验 发布于: 2017-09-06 14:06 浏览:7,036 评论(4)


同事问我如何下载保存一个天猫商品页中的视频,我想不就是直接f12查看请求,找到视频链接直接保存下来就行了吗?浏览器也有类似插件可以实现页面上的视频下载。

先以这个商品为例:

https://detail.tmall.com/item.htm?id=15385666622

拿过来看了下发现并不简单,详情页上的视频,在用f12查看请求时,发现视频被分为了几段,每播放一段就会再下载下一段。所以直接下载完整视频是不行了。

仔细看页面的加载请求,发现在视频之前有个info.php?vid=xxx的请求,请求的返回格式是xml,而其中的数据正是描述这个视频的。所以想要下载完整视频得从这个文件下手了。

http://cloud.video.taobao.com/videoapi/info.php?vid=40565937

返回的数据:


false
338
taobaohttp://img.alicdn.com/bao/uploaded/i2/TB1Y_92KVXXXXaHXpXXSutbFXXX.jpg0true
0




40565937
false
true

其中videos节点中就是视频,其中按照清晰度不同,分为不同的video,每个video中的video_url就是视频地址了,但直接用这个地址是无法下载播放的,还需要一步。

再次观察页面请求中,视频加载后会有个1.flv请求,然后在视频播放过程中会有N个1.flv的请求。查看它的请求url:


前面一段是我们从接口中得到的video_url, 而后面的部分,应该是视频的分段,我们这里把start改为0,end改为17178430(这个值是xml的video的length,也就是视频总大小),然后在浏览器上访问一下修改后的地址,便会直接下载到了真实完整的视频了。

对于视频信息接口请求时的vid=40565937中的vid,其实就是swf的文件名,它也在页面源码中。。。
==============================================
以上只是视频为flv格式的, 我在找其它页面测试时发现还有m3u8的,以这个商品为例:

https://detail.tmall.com/item.htm?id=555589089023

视频信息info.php接口返回如下:


0
false
82
taobao
c6mJEWnLQy4CARvfBXa1h111http://img.alicdn.com/imgextra/i4/6000000001985/TB2gSE.cbMlyKJjSZFlXXbMoFXa_%21%210-0-tbvideo.jpg2false
truexxxxxxxx1234567890




50014606214
false
true


videos中也是根据清晰度不同分为三个不同的地址,拿到这个地址后,可以直接交给ffmpeg转换成mp4。

ffmpeg -i "http://tbm.alicdn.com/F1wX39ZOFUNTIGmZVa7/TqhK5AMFlq6HNa9Cl2r%40%40hd.m3u8" -vcodec copy -acodec copy -absf aac_adtstoasc output.mp4

       

本文采用知识共享署名-非商业性使用 3.0 中国大陆许可协议进行许可,转载时请注明出处及相应链接。

本文永久链接: https://www.zh30.com/tmall-goods-video-download.html

天猫商品详情页视频的下载的思路:目前有4 条留言

用户评论头像 小青发表于 2017年11月09日 22:33[回复]

不错,博主有心了。

    用户评论头像 小白发表于 2017年11月09日 23:00[回复]

    不错,博主有心了。

      用户评论头像 anni发表于 2017年11月09日 23:03[回复]

      这个具体要怎么操作呢

        用户评论头像 爸爸的爸爸叫什么发表于 2018年01月08日 10:51[回复]

        牛逼

发表评论

change vcode