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

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

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


同事问我如何下载保存一个天猫商品页中的视频,我想不就是直接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

返回的数据:

<result>
<autoplay>false</autoplay>
<duration>338</duration>
<logo_type>taobao</logo_type>
<pic_url>
http://img.alicdn.com/bao/uploaded/i2/TB1Y_92KVXXXXaHXpXXSutbFXXX.jpg
</pic_url>
<play_type>0</play_type>
<samekeyframes>true</samekeyframes>
<uid>0</uid>
<videos>
<video>
<bitrate>202</bitrate>
<init_len>0</init_len>
<length>8558342</length>
<type>ld</type>
<video_url>
http://vodcdn.video.taobao.com/oss/taobao-ugc/8615515395bd4948b00368453cbd5a1b/1466762066/video.flv
</video_url>
</video>
<video>
<bitrate>406</bitrate>
<init_len>0</init_len>
<length>17178430</length>
<type>sd</type>
<video_url>
http://vodcdn.video.taobao.com/oss/taobao-ugc/03a17e32faf5420cb4f24a2d122a1ed5/1466762066/video.flv
</video_url>
</video>
</videos>
<video_id>40565937</video_id>
<is_auth>false</is_auth>
<is_success>true</is_success>
</result>

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

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

http://vodcdn.video.taobao.com/oss/taobao-ugc/03a17e32faf5420cb4f24a2d122a1ed5/1466762066/video.flv/start_7863133/end_9045211/1.flv

前面一段是我们从接口中得到的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接口返回如下:

<result>
<adtemplate>0</adtemplate>
<autoplay>false</autoplay>
<duration>82</duration>
<logo_type>taobao</logo_type>
<mid>c6mJEWnLQy4CARvfBXa1h111</mid>
<pic_url>
http://img.alicdn.com/imgextra/i4/6000000001985/TB2gSE.cbMlyKJjSZFlXXbMoFXa_%21%210-0-tbvideo.jpg
</pic_url>
<play_type>2</play_type>
<samekeyframes>false</samekeyframes>
<showplayinglogo>true</showplayinglogo>
<tracknick>xxxxxxxx</tracknick>
<uid>1234567890</uid>
<videos>
<video>
<bitrate>344</bitrate>
<init_len>0</init_len>
<length>554</length>
<type>sd</type>
<video_url>
http://tbm.alicdn.com/F1wX39ZOFUNTIGmZVa7/TqhK5AMFlq6HNa9Cl2r%40%40ld.m3u8
</video_url>
</video>
<video>
<bitrate>535</bitrate>
<init_len>0</init_len>
<length>554</length>
<type>hd</type>
<video_url>
http://tbm.alicdn.com/F1wX39ZOFUNTIGmZVa7/TqhK5AMFlq6HNa9Cl2r%40%40sd.m3u8
</video_url>
</video>
<video>
<bitrate>1016</bitrate>
<init_len>0</init_len>
<length>554</length>
<type>ud</type>
<video_url>
http://tbm.alicdn.com/F1wX39ZOFUNTIGmZVa7/TqhK5AMFlq6HNa9Cl2r%40%40hd.m3u8
</video_url>
</video>
</videos>
<video_id>50014606214</video_id>
<is_auth>false</is_auth>
<is_success>true</is_success>
</result>

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

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

↓↓↓微信扫码请我吃辣条↓↓↓

本文出自 郑晓个人博客,转载时请注明出处及相应链接。

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

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

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

不错,博主有心了。

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

    不错,博主有心了。

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

      这个具体要怎么操作呢