Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

配置了cookie且不改变的情况下,有时响应内容为空,状态码:200;有时候403,视频丢失,所有链接无法下载。只是tiktok,douyin能正常下载。 #711

Open
eddieko8 opened this issue May 9, 2024 · 9 comments
Labels
故障(bug) 代码问题导致的错误(Bugs caused by code problems)

Comments

@eddieko8
Copy link

eddieko8 commented May 9, 2024

之前一直只下在douyin的视频,都是可以正常下载的。今天打算下载一些tiktok视频,cookie和代理什么的都配置好以后,最开始是出现“响应内容为空,状态码:200”的提示,
微信图片_20240509233642
查文档显示出现这种情况是cookie的问题,所以我又通过手动复制和直接从浏览器导入搞了几次,还是不能完全解决,偶尔出现网络环境的提示,然后我又先后换了大概四五种代理,十几个节点来测试,最多就是能到这个画面:
360截图20240509235907068
微信截图_20240510002525
所有链接都无法下载,能提取到视频信息,但是都无法下载。
然后就是在cookie等都不变的情况下,多次启动终端,就是在“代理不通”、“Traceback”、“响应内容为空,状态码200”和“403,所有链接无法下载”之间来回提示。
换个电脑测试还是这种情况。不知道是不是被检测到大陆IP不让下载,还是直接账号cookie被屏蔽接口了,不过浏览器能正常浏览tiktok。
同时还下载了另一个大佬的项目[TikTokDownloader]测试,也是douyin可以下载,tiktok下不了(同一个tiktok账号的cookie)

@eddieko8 eddieko8 added the 故障(bug) 代码问题导致的错误(Bugs caused by code problems) label May 9, 2024
@skyhhuc
Copy link

skyhhuc commented May 10, 2024

应该不是你的问题,我在github上面也找了几个,都是跟你一样的问题,douyin没问题,tk全部都下载不了,跳过,无法下载,全部都是

@JoeanAmier
Copy link

下载链接的问题,原因不明。

@skyhhuc
Copy link

skyhhuc commented May 10, 2024

不是吧,我也测试了好几个tiktok的用户视频下载,也是这么提示的。是不是接口失效了

@Johnserf-Seed
Copy link
Owner

我反复的测试之后验证真实的msToken对采集的影响是75%,代理可用性对采集的影响是20%,models的参数对采集的影响可能是5%

可能的解决办法:

  1. 修改models中BaseRequestModel的device_id
  2. BaseRequestModel的region参数需要和代理的ip国家保持一致
  3. 使用高可靠的代理,不要频繁变动同一个账号cookie的代理ip

高可靠性的代理是不会频繁出现msToken异常的

@skyhhuc
Copy link

skyhhuc commented May 10, 2024

我昨天搞了两个小时,都不行,后面找到了一个别人网页版可以下载用户所有视频的,然后直接调用他的接口,研究了一下他的js文件和post数据,给我试出来了,将就用吧,代码就支持单用户所有视频,自用😂😂希望你们这些大神早日完善tk视频下载程序

@arvinws
Copy link

arvinws commented May 20, 2024

出现同样问题,大佬们有什么好的解决方案么

@Johnserf-Seed
Copy link
Owner

我本地很少会因为代理原因导致采集失败。虽然tk对代理的针对非常刁钻,但网页可以打开的原因是有真实浏览器指纹,更多真实的请求头,它走系统层面代理。代码没有完全模拟出环境,如果代理不稳定很容易被风控。

还有一个风控的点是model.py里的device_id参数,这个也是造成空返回的原因之一,请多使用你们本地的device_id,可以在开发者控制台的xhr请求中找到

mmexport1716484423608.png

@arvinws
Copy link

arvinws commented May 24, 2024

我本地很少会因为代理原因导致采集失败。虽然tk对代理的针对非常刁钻,但网页可以打开的原因是有真实浏览器指纹,更多真实的请求头,它走系统层面代理。代码没有完全模拟出环境,如果代理不稳定很容易被风控。

还有一个风控的点是model.py里的device_id参数,这个也是造成空返回的原因之一,请多使用你们本地的device_id,可以在开发者控制台的xhr请求中找到

mmexport1716484423608.png

感谢大佬指定,已经解决。还有小问题,代理为什么配置无效,必须开全局才行?

@JoeanAmier
Copy link

我本地很少会因为代理原因导致采集失败。虽然tk对代理的针对非常刁钻,但网页可以打开的原因是有真实浏览器指纹,更多真实的请求头,它走系统层面代理。代码没有完全模拟出环境,如果代理不稳定很容易被风控。

还有一个风控的点是model.py里的device_id参数,这个也是造成空返回的原因之一,请多使用你们本地的device_id,可以在开发者控制台的xhr请求中找到

mmexport1716484423608.png

不如把 device_id 放在配置文件里,自行设置。

Johnserf-Seed added a commit to Johnserf-Seed/f2 that referenced this issue May 25, 2024
为ClientConfManager添加模型配置读取
Johnserf-Seed/TikTokDownload#711
Johnserf-Seed added a commit to Johnserf-Seed/f2 that referenced this issue May 25, 2024
为ClientConfManager添加模型配置读取
Johnserf-Seed/TikTokDownload#711
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
故障(bug) 代码问题导致的错误(Bugs caused by code problems)
Projects
None yet
Development

No branches or pull requests

5 participants