今日头条最新视频解析方法
主要参考
如果小伙伴们想知道视频的解析规则的话,可以看下下面这篇博客,只不过该博客举的例子是用Python,而且关于取video的id的方法已经变了,所以没办法正确解析视频了。
参考博客
视频解析
一、读取html内容,获取videoId
这里我们通过读取html的内容,如:
http://toutiao.com/group/6631022373556453896/
通过查看网站源码我们可以看到,Js中包含有videoId
如何获取videoId的值呢,这里我们通过正则匹配,匹配出页面中的videoId,代码如下
Pattern pattern = Pattern.compile("videoId: '(.+)'");Matcher matcher = pattern.matcher(response);if (matcher.find()) {String videoId = matcher.group(1);...}
切记videoId:后面带有一个空格,如果少了则匹配不到,笔者我也因为这个郁闷了很久,最后发现原来是少了一个空格。
二、构造r和s参数
参数r是一个随机数,多少位数都可以,这里我们生成一个16位的随机数:
String r = getRandom(); //7805700526977788//生成16位的随机数private String getRandom() {Random random = new Random();StringBuilder result = new StringBuilder();for (int i = 0; i < 16; i++) {result.append(random.nextInt(10));}return result.toString();}
参数s是通过CRC32加密过的,加密的原文规则为:
/video/urls/v/1/toutiao/mp4/videoid?r=随机数
如上面例子,videoId 为 v02004040000bg31ot72gddgigkg7kvg
r 为 7805700526977788
那么加密的原文为:
/video/urls/v/1/toutiao/mp4/v02004040000bg31ot72gddgigkg7kvg?r=7805700526977788
参数s的生成代码如下:
CRC32 crc32 = new CRC32();String s = String.format(ApiConstant.URL_VIDEO, videoId, r);//进行crc32加密。crc32.update(s.getBytes());String crcString = crc32.getValue() + ""; //38456043
public static final String URL_VIDEO="/video/urls/v/1/toutiao/mp4/%s?r=%s";
发起获取视频地址的请求
有了上面的videoId以及r和s参数,我们就可以发起获取视频真正地址的请求了,请求的方式为:
http://i.snssdk.com/video/urls/v/1/toutiao/mp4/videoid?r=随机数&s=CRC32密文
上面例子构建的链接为:
http://i.snssdk.com/video/urls/v/1/toutiao/mp4/v02004040000bg31ot72gddgigkg7kvg?r=7805700526977788&s=38456043
请求获取到的json如下图:
这里有一个video_list节点,里面会有video_1、video_2、video_3,这里演示的里面只有一个video_1,其中video节点中的main_url就是视频的真实地址,只不过是通过base64加密过,这里我们需要对其进行解密:
private String getRealPath(String base64) {return new String(Base64.decode(base64.getBytes(), Base64.DEFAULT));
}
解密后,获取到视频的真实地址为:
http://v6-tt.ixigua.com/video/m/22043d51290e6704a048ae8f386f721975f11610ea5d000060fe86e532c7/?AWSAccessKeyId=qh0h9TdcEMoS2oPj7aKX&Expires=1543982822&Signature=GVgJXs4mzAIGAXqr6VgaoORAat8%3D&rc=am5qampnNXc0ajMzNzczM0ApQHRAbzw4OTg6MzUzMzgzNDM0NDVvQGgzdSlAZjN1KWRzcmd5a3VyZ3lybHh3ZjUzQHM0aGZhZDRsMF8tLS0tL3NzLW8jbyMyMjIuMzItLjIyLjIvNS06I28jOmEtcSM6YHZpXGJmK2BeYmYrXnFsOiMuL14%3D
至此,解析今日头条的方法已经分析完毕,如果大家想要查看源码的话,可以参考我的项目(文章末尾处),同时也希望如果帮到你的话,请帮我star下,多谢了。
具体的代码在里面解析视频那块,即VideoPathDecoder类的decodePath方法中:
源码地址
精仿今日头条
今日头条最新视频解析方法相关推荐
- 今日头条短视频搬运方法,批量处理去重消重去水印去logo软件
软件就像一把菜刀,一个工具,看主人怎么用,厨师拿去就能做出美味佳肴,你要拿去砍石头,还想把石头当土豆一样切成丝,我只能说你该转换你的思想了. 祥瑞自媒体 16:19:20 恩,或者我再帮你处理一遍? ...
- 头条号发视频一直重复,求消重方法 今日头条发视频重复,怎么消重去重伪原创...
视频消重原理批量处理去重消重去水印去logo软件 如何给西瓜视频消重批量处理去重消重去水印去logo软件 头条号视频重复修改md5批量处理去重消重去水印去logo软件 今日头条短视频搬运方法,批量处理 ...
- Python3爬取今日头条文章视频数据,完美解决as、cp、_signature的加密方法(2020-6-29版)
前言 在这里我就不再一一介绍每个步骤的具体操作了,因为在爬取老版今日头条数据的时候都已经讲的非常清楚了,所以在这里我只会在重点上讲述这个是这么实现的,如果想要看具体步骤请先去看我今日头条的文章内容,里 ...
- 盘点抖音及今日头条的优化推广方法有哪些?
相信现在大家除了做百度的优化推广外,肯定格外注重抖音跟今日头条的优化推广方法吧,或者说抖音跟头条的优化推广重要性还排在百度之前!以目前官方公布的数据来说,抖音跟头条的日用户活跃,日有用户搜索量已经同等 ...
- 获取“今日头条”西瓜视频
PC端获取今日头条西瓜视频 测试浏览器:Google || 火狐 Google获取视频方法 打开需要保存的视频当前播放页面[点击播放] F12 大法获取视频链接地址[复制下来:Ctrl+C] 打开一个 ...
- 这3个今日头条常见的赚钱方法,掌握后,月入过万都不难
最近我准备学点营销知识.在研究今日头条的时候,发现很多企业.政府的官方号都已经入驻了头条,看来今日头条已经成了一个营销宣传必备的渠道了. 这3个今日头条常见的赚钱方法,掌握后,月入过万都不难 另外,我 ...
- python分析并爬取今日头条的视频链接
如题,分析并爬取今日头条的视频链接 代码仅供交流使用 一.分析 1.进入现在的官网http://www.365yg.com/,然后通过抓包发现首页数据的走向,一般来说首页数据放在网页中,要不然就是用j ...
- 趣头条今日头条的视频何谓伪原创
趣头条今日头条的视频何谓伪原创 关注祥瑞自媒体,了解更多视频搬运干货! 如果你想在今天的头条新闻中赚更多钱,你必须努力打开原版.,在正常情况下,您可以在 ...
- 《今日头条中视频搬运项目》3-5天就可以产生利润【教程目录】
沉睡者IT:<今日头条中视频搬运项目>只需要一部手机3-5天就可以产生利润 培训课程视频内容介绍: 今日头条多久产生利润:一般情况3-5天就可以,大概就是这个范围,也有很多一天就开始出货的 ...
- 今日头条竖屏视频没有收益吗,今日头条竖版视频没收益怎么回事
今天给大家分享五点我们新手做自媒体最容易犯的错误,希望可以让你们少走些弯路. 第一:开通自己的头条号 我们一定要去开通自己的一个头条号,成为一个创作者.有的人,他只是下载了一个今日头条app,并没有去 ...
最新文章
- ICMP重定向(ICMP Redirect)
- ubuntu9.10 qq自动退出修复
- JMS学习(六)--提高非持久订阅者的可靠性 以及 订阅恢复策略
- Elastic job,任务状态:分片待调整
- java做一个客房管理系统定制_管理皮孩子很难?来,教你一个java设计简单的学生管理系统...
- Express入门 模板引擎hbs 服务端渲染
- 一、 zedboardubuntu 14.04 的前期准备(定期更新)
- JavaSE复习_8 泛型程序设计
- 温度控制直流电动机的c语言,温度控制直流电动机转速系统设计报告
- PostgreSQL内核扩展之 - ElasticSearch同步插件
- python notebook 在加载ipynb文件 报错NotJSONError(‘Notebook does not appear to be JSON: \‘\\ufeff{“nbformat“
- 从苏宁电器到卡巴斯基第34篇:番外篇——晒一晒病毒分析师的桌面(上)
- 取消计算机用户密码页面,取消开机密码 Windows电脑开机登录界面取消方法-电脑教程...
- Maven知识补充(项目模型变量,Maven属性,依赖项的范围,查找公共存储库的依赖项等)
- EXCEL学会两个函数你能打败90%的人,countifs和vlookup
- 【B类】BI商业智能、大数据、Mysql、等系列课程集
- 再谈OT算法的协同文档制作的底层基础架构记录
- 浏览器怎么显示php文件夹,如何使用浏览器打开php文件?
- ImageMagick将多张图片拼接成一张图片_介绍一款全功能的图片查看编辑软件
- linux内核源码分析之per-CPU