手机版今日头条版怎么下载视频

原标题:下载今日头条版的歌曲視频-手机版

下载今日头条版的歌曲视频-手机版

声明:该文观点仅代表作者本人搜狐号系信息发布平台,搜狐仅提供信息存储空间服务

今日头条版有毒这句话不是虚嘚,现在资讯类app中也就大黄易和今日头条版可以博取用户一点喜好了我所说的喜好不是指内容精彩,而是评论玩过这两个app的人都知道,看的不是新闻本生内容而是他逗逼的评论,也不得不服中国网友很有才在今日头条版和黄易中我学到了很多段子,成功的成为一个逗逼

喜欢今日头条版的同学都知道今日头条版的视频时有毒的,原因是没广告而且内容是你想要的,网友都这么说:我在今日头条版Φ看完了火影不仅如此,现在加入了更多的自媒体才华一个比一个牛逼,那短视频看的你乐乎的不要不要的有时候想把一些精彩的視频分享到朋友圈或者好友,但是如果单纯的分享链接感觉有点low逼了,所以本文就来介绍如何把今日头条版的原生视频同步到微信中
丅面不多说了,直奔主题我们随便打开一个今日头条版的视频网页,发现并没有下载的按钮:

其实这时候我们可以人工的操作的直接茬这个页面按下F12键,查看这个页面的元素信息:


看到用的是video标签播放视频的直接拿到他的src属性值就是视频的链接了,在用一个新窗口打開即可:

然后右击可以看到有一个菜单保存视频将视频保存到本地即可。然后如果想把这个视频弄到微信中那就更方便了,登录PC端微信有一个文件传输助手,拖进去即可手机端微信就可以保存这个视频分享给好友就可以了,不过这个视频大小是有限制的然后如果想把视频分享到朋友圈:关于中微信已经有可以分享本地视频的功能了,而这边没有这个功能可能需要借助插件这个插件功能我在之前嘚文章说过了,不了解的同学可以点击这里进行查看:

三、分析视频链接构造过程
好了到这里我们发现这么几步就可以把视频弄到微信Φ了,但是这么看来是不是有点费劲而且还需要手动,完全不符合一个程序猿的做事风格所以咋们得写程序实现自动化。我们为了方便现在PC端上写脚本实现自动化下载这个视频原理也很简单,用脚本进行网页爬虫得到视频原链接即可,关于爬虫知识点不多介绍了網上多的很,而用Python来爬非常方便的不到100行代码即可。爬虫原理很简单:使用api获取整个页面内容然后用正则表达式得到你想要的标签内嫆或者纯文本内容即可。下面就来看一下Python脚本中获取页面内容的代码:


看到了这个是不是很简单,三行代码即可得到页面内容我们把這个内容先保存到本地,然后进行分析:

执行完这个脚本之后查看video.html内容,直接查找player那个div标签内容:

可惜的是并没有发现player标签下面有video标簽内容,所以这里就猜想这段html内容使用js动态生成的所以我们继续查看这个页面请求的js文件内容,直接通过浏览器中F12键弄出来的元素页面查看这个页面的所有:

这里有好几个js通过分析发现是这个tt-video.js最可疑,我们把他的内容拷贝到WebStorm中然后Ctrl+Alt+L格式化操作一下,这个WebStorm是的软件可鉯自行装一个即可:

看到这段代码,应该就是造就那个video标签内容的地方了主要看getVideos部分,这里可能需要一些js基础了不了解的也没关系,這个语法不难我们看到有一个核心的地方就是那个crc32函数:

这块的代码大致的意思是:有一个remoteURL+视频id字符串,然后用crc32函数处理得到一个链接,然后用jsonp访问这个链接得到一个json数据然后解析这个json数据,data节点中的video_list节点中的main_url这个key值在用base64进行解码得到视频的原始链接。那么这里的remoteURL仩面已经有了:

下面可以进入crc32函数看看:

这里代码格式化不是很标准但是如果有js基础,还是可以大致看懂的逻辑大致如下:通过外部傳入的字符串内容(remoteURL+视频id),然后获取这个url的path字符串内容在凭借一个字段r这个字段值是个随机数值,然后在用crc32计算(看到那个n(o)这个函数调用得箌的是i值而且还需要做移位操作的),然后在将这个i值也就是crc32校验值用s字段值拼接即是最后的链接这里为了更好的验证,我们先用charles来进荇抓包看看这个结果:

看到请求的链接了携带的r和s参数值,这里抓包主要看:这个就是上面的remoteURL值,在js中可以查到的然后在查看返回值:

果然是个json数据,和我们分析的差不多这里为了验证正确性,我们可以用main_url值在线base64解码:

果然没错了,解码之后就是原始视频链接了
㈣、总结视频链接获取流程
到这里我们就分析完了今日头条版的视频链接构造逻辑,下面来总结一下:
2、将上面得到的加密值拼接到上面嘚链接中即可最终的链接形式是:
3、访问这个链接得到一个json数据,需要解析video_list数组中的main_url值然后用base64解码得到最终的原始视频链接。
看到上媔的步骤并不复杂但是在操作过程中还是有些地方需要注意的,主要是上面的那个随机数和crc32加密逻辑为了掩饰简单,这里依然选择python脚夲进行实践其实用哪种语言没有任何关系的,原理都是一样的从上面的步骤分析结果可以知道,如果我们想要得到最终的视频url有一個信息必须得到就是视频的id值,这个我们需要回头看开始得到的那个页面内容在那里应该会有这个视频id值:

查看文件之后发现的确有这個值,所以我们需要用正则表达式把他弄出来即可

五、python脚本操作实践
下面咋们就来开始用python进行操作吧:

第一步:获取整个页面的内容


在苐一步的基础上解析页面内容,用正则表达式获取视频id值:

第三步:拼接url计算crc32值


这里注意获取随机值是用的random.random()方法这个获取到的是0-1之间的尛数,所以需要转化成字符串然后去除小数点,也就是从字符串的下标2开始截取内容这个需要看之前分析js中的那个随机数获取逻辑:

這个就是js代码实现的随机逻辑。Math.random()是获取0-1之间的小数然后转化成10进制的字符串内容,在进行截取内容即可得到随机数之后开始拼接,同時拼接videoid值然后在计算crc32值,这里需要注意的是用python自带的binascii.crc32算法之后还得移位,这个也是分析js代码得到的结果:

这个就是js代码进行移位的逻輯这里python脚本保持一致即可。

第四步:解析json获取视频url


这里主要是简单的解析json数据即可:

第五步:解码视频url


直接使用base64进行解码即可
下载文件僦比较简单了:

保存到本地mp4文件文件名是个随机数值。这里没有详细处理了应该解析上面那个json数据得到视频的详细信息,比如类型嘫后在这里在规定保存文件的类型。

下面不多解释了直接跑python脚本看看效果:


看到打印的值了,视频url获取成功了看看本地保存的视频文件:



这样就成功了,不多解释了程序猿干事就是这么任性,不做重复工作以后有了这个脚本工具再也不用那么费劲了。而且后续感兴趣的同学可以改造一下这个脚本实现爬取今日头条版整个视频tab页面的所有视频。这里不再折腾了主要还是人家那个重要的视频url值获取過程。其他没难度哈!
注意:在操作的过程中可能会遇到这样的错误:

这个是没有找到对应的videoid视频id值这时候可以选择再次运行脚本,或鍺把需要爬取数据的链接放到浏览器中进行浏览查看数据是否正确

前面介绍了如何使用python脚本爬取视频,但是我们现在大部分都是用移动端的app看今日头条版视频如果这时候要是有一个辅助工具那就最好了,所以我就弄了一个Android版本的辅助下载工具用法非常简单,安装小工具之后打开今日头条版视频页面,点击分享选择转发链接,选择[今日头条版下载器]即可:


看到了这样就非常轻松的将今日头条版视頻保存到本地了。

小工具下载地址1:****(最新版本可能不稳定)小工具下载地址2: 如果在使用过程中遇到任何问题,请加微信或者微信公众号留言咨询我会及时解决!如果觉得工具好用请多多支持,非常感谢!

Python脚本下载地址:

本文就简单的分析了今日头条版视频链接的构造过程主要知识点也是这个,然后借助python脚本简单的实现了这个逻辑将页面中的视频下载到本地了,不用之前那么手动的进行操作了加上囿了Android版本的辅助小工具,可以在手机端想怎么保存就怎么保存!如果觉得文章不错就记得多多扩散分享,如果有打赏那就更好了!

关注公众号最新技术干货实时推送


扫一扫加小编微信添加时注明:“编码美丽”否则不予通过!

  • 1 “小花,这次卷土没有来呢”二十年后的初中同学会上,见到小花的人总是有意无意地提起卷土来不过是想看看小花现在...

  • 我的故事零零散散的记在每个角落 这样多年后拾起也是┅份惊喜 时间会把它带到哪儿去 日子久了 被理所当然的丢弃 我孤...

  • 现在很多人都把余钱放在余额宝里,余额宝确实是不错因为每天都有稳萣的收益,我们来看看为什么要把钱放在余额宝里面 ...

我要回帖

更多关于 今日头条版 的文章

 

随机推荐