本帖最后由 wushaominkk 于 2019-7-6 19:32 编辑
之前我根据某个网站的接口,练手写了一款抖音批量下载无水印视频, 但是!!我们怎么能够只满足于调用人家接口!!!于是我花了一上午配置了FD的HTTPS证书,总算是给我的模拟器装上了证书,开始抖音的抓包之旅~ 以下结果仅仅只是简单的分析了一下json 还有一些因技术不够 不知道怎么整,希望大佬们能够教教萌新
首先我们的思路是:
既然要批量下载,哪里最容易获取到用户的所有视频呢? 当然是个人主页啦!!我们通过进入某个用户的主页抓到以下几个数据包
001.png (798.38 KB, 下载次数: 0)
2019-7-6 18:13 上传
其中有两个数据包最为可疑!!
002.png (70.51 KB, 下载次数: 1)
2019-7-6 18:16 上传
两个都是json 我们分别截图看一下
003.png (167.63 KB, 下载次数: 0)
2019-7-6 18:17 上传
004.png (192.84 KB, 下载次数: 0)
2019-7-6 18:18 上传
一个json有很多个花括号!我们暂时不去管它 ,另一个json很小,详细查看了一下发现里面包含的是作者的一些图片 还有详细说明什么的。那么我们就定位第一个JSON。 打开花括号 看看里面有点啥!一顿骚操作后就发现 这个json包含了近20个作品左右的数据
005.png (203.8 KB, 下载次数: 0)
2019-7-6 18:22 上传
无水印视频路径为:花括号下的Video下的play_addr_lowbr下的url_list里 打开看一下
006.png (729.6 KB, 下载次数: 0)
2019-7-6 18:24 上传
没毛病!!!小姐姐很漂亮!!咳咳 现在我们来看一下请求头 还有网址信息等
007.png (36.33 KB, 下载次数: 0)
2019-7-6 18:25 上传
URL比较长 我贴出来 不知道方不方便看。。https://api-hl.amemv.com/aweme/v1/aweme/post/?max_cursor=0&user_id=101166401417&count=20&retry_type=no_retry&iid=77895323871&device_id=68600307762&ac=wifi&channel=tengxun_new&aid=1128&app_name=aweme&version_code=700&version_name=7.0.0&device_platform=android&ssmix=a&device_type=MI+6+&device_brand=Xiaomi&language=zh&os_api=22&os_version=5.1.1&uuid=863254010212610&openudid=d43d7e9c97495920&manifest_version_code=700&resolution=900*1600&dpi=320&update_version_code=7002&_rticket=1562407941830&ts=1562407942&app_type=normal&js_sdk_version=1.18.1.0&mcc_mnc=46007&sec_user_id=MS4wLjABAAAAollsLWH4REQgH-TMlNe4E__qcAogQwkaPpuv8PjbESM
我简单的分析了一下(因为难的不会
)
其中rticket为精准到毫秒的时间戳,ts比rticket少三位,我猜测是精准到分还是小时??
user_id是用户ID
还有一个sec_user_id 好像是根据用户ID某种算法加密生成的
其他的都是固定的 URL中包含设备的相关信息
除了该主机头以外,还有其他的几个主机头,重新打开抖音就可以抓到不同主机头的包 但是数据都是相同的
JSON中的has_more是判断是否下一页,因为json只返回了部分视频 当你向上拖动屏幕时,就会再次请求,如果为0则没有下一页
008.png (11.68 KB, 下载次数: 0)
2019-7-6 18:40 上传
分析到这里 我认为就可以用java实现批量下载无水印了,但是!!!!事情没有那么简单!!!
当我写好URL链接上去 配置好UA和相关参数的时候!!返回的json居然!!!没有数据!!
{"status_code": 0, "has_more": 0, "max_cursor": 0, "min_cursor": 0, "aweme_list": []}无论我怎么写UA还有相关参数的时候,都获取不到!!
010.png (169.92 KB, 下载次数: 0)
2019-7-6 18:44 上传
本人全靠自学,没有相关信息,完全分析不出来原因。。。。万般无奈只能来找各位大佬能不能帮我分析一下原因
如果发错地方了 麻烦大佬点点小手帮我挪个位置,感谢!