TikTokDownload
TikTokDownload copied to clipboard
配置了cookie且不改变的情况下,有时响应内容为空,状态码:200;有时候403,视频丢失,所有链接无法下载。只是tiktok,douyin能正常下载。
之前一直只下在douyin的视频,都是可以正常下载的。今天打算下载一些tiktok视频,cookie和代理什么的都配置好以后,最开始是出现“响应内容为空,状态码:200”的提示,
查文档显示出现这种情况是cookie的问题,所以我又通过手动复制和直接从浏览器导入搞了几次,还是不能完全解决,偶尔出现网络环境的提示,然后我又先后换了大概四五种代理,十几个节点来测试,最多就是能到这个画面:
所有链接都无法下载,能提取到视频信息,但是都无法下载。
然后就是在cookie等都不变的情况下,多次启动终端,就是在“代理不通”、“Traceback”、“响应内容为空,状态码200”和“403,所有链接无法下载”之间来回提示。
换个电脑测试还是这种情况。不知道是不是被检测到大陆IP不让下载,还是直接账号cookie被屏蔽接口了,不过浏览器能正常浏览tiktok。
同时还下载了另一个大佬的项目[TikTokDownloader]测试,也是douyin可以下载,tiktok下不了(同一个tiktok账号的cookie)
应该不是你的问题,我在github上面也找了几个,都是跟你一样的问题,douyin没问题,tk全部都下载不了,跳过,无法下载,全部都是
下载链接的问题,原因不明。
不是吧,我也测试了好几个tiktok的用户视频下载,也是这么提示的。是不是接口失效了
我反复的测试之后验证真实的msToken对采集的影响是75%,代理可用性对采集的影响是20%,models的参数对采集的影响可能是5%
可能的解决办法:
- 修改models中BaseRequestModel的device_id
- BaseRequestModel的region参数需要和代理的ip国家保持一致
- 使用高可靠的代理,不要频繁变动同一个账号cookie的代理ip
高可靠性的代理是不会频繁出现msToken异常的
我昨天搞了两个小时,都不行,后面找到了一个别人网页版可以下载用户所有视频的,然后直接调用他的接口,研究了一下他的js文件和post数据,给我试出来了,将就用吧,代码就支持单用户所有视频,自用😂😂希望你们这些大神早日完善tk视频下载程序
出现同样问题,大佬们有什么好的解决方案么
我本地很少会因为代理原因导致采集失败。虽然tk对代理的针对非常刁钻,但网页可以打开的原因是有真实浏览器指纹,更多真实的请求头,它走系统层面代理。代码没有完全模拟出环境,如果代理不稳定很容易被风控。
还有一个风控的点是model.py里的device_id参数,这个也是造成空返回的原因之一,请多使用你们本地的device_id,可以在开发者控制台的xhr请求中找到
我本地很少会因为代理原因导致采集失败。虽然tk对代理的针对非常刁钻,但网页可以打开的原因是有真实浏览器指纹,更多真实的请求头,它走系统层面代理。代码没有完全模拟出环境,如果代理不稳定很容易被风控。
还有一个风控的点是model.py里的device_id参数,这个也是造成空返回的原因之一,请多使用你们本地的device_id,可以在开发者控制台的xhr请求中找到
感谢大佬指定,已经解决。还有小问题,代理为什么配置无效,必须开全局才行?
我本地很少会因为代理原因导致采集失败。虽然tk对代理的针对非常刁钻,但网页可以打开的原因是有真实浏览器指纹,更多真实的请求头,它走系统层面代理。代码没有完全模拟出环境,如果代理不稳定很容易被风控。
还有一个风控的点是model.py里的device_id参数,这个也是造成空返回的原因之一,请多使用你们本地的device_id,可以在开发者控制台的xhr请求中找到
不如把 device_id
放在配置文件里,自行设置。
更新到0.0.1.6-pw2
可以生成设备id来解决这个问题