-
Notifications
You must be signed in to change notification settings - Fork 133
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
[QUESTION]咨询一下twitter应该怎么下载 #217
Comments
@LRTFK 你好!我是Dosu,我是一个能够帮助你解决bug、回答问题,甚至成为贡献者的机器人。在等待人类维护者的时候,我可以帮到你。 要正确获取和使用 cookies 下载 Twitter 视频,您需要提供有效的 cookie 参数。如果没有提供 cookie,程序会抛出
以下是相关代码片段,说明如何处理自动获取 cookie 的逻辑: def handler_auto_cookie(
ctx: click.Context,
param: typing.Union[click.Option, click.Parameter],
value: typing.Any,
) -> None:
if not value or ctx.resilient_parsing or ctx.params.get("cookie"):
return
try:
cookie_value = split_dict_cookie(get_cookie_from_browser(value, "twitter.com"))
if not cookie_value:
raise ValueError(_("无法从 {0} 浏览器中获取cookie").format(value))
manager = ConfigManager(
ctx.params.get("config", get_resource_path(f2.APP_CONFIG_FILE_PATH))
)
manager.update_config_with_args("twitter", cookie=cookie_value)
except PermissionError:
logger.error(_("请关闭所有已打开的浏览器重试,并且你有适当的权限访问浏览器!"))
ctx.abort()
except Exception as e:
logger.error(_("自动获取Cookie失败:{0}").format(str(e)))
ctx.abort()
finally:
ctx.exit(0) 确保在初始化 To continue talking to Dosu, mention @dosu. Help Dosu learn! Give it feedback: Great Response | Irrelevant Answer | Incorrect Sources | Too Verbose | Hallucination | Other |
感谢回复,但是我在yaml中更新了X-Csrf-Token值,运行之后依然不好用,还是403。 |
感谢回复,回头我再试试吧。我刚刚403的时候其实已经尝试换了一个代理了。。。。 |
我不知道是不是你代理配置的问题,要考虑出口代理支不支持https,后续更新会支持socks5代理 |
我直接用的clash的。我在clash切完代理,断开之前的连接重新chrome打开Twitter,之后再使用脚本,还是403。 |
那还是你的ck,你不需要从应用程序里拿,你在网络里的xhr里找相关接口然后复制请求标头里的ck和X-Csrf-Token到配置文件里 |
网络里的xhr里找相关接口,找了一个https://api.x.com/1.1/live_pipeline/update_subscriptions的,然后复制请求标头里的cookie和X-Csrf-Token到配置文件里,运行1次就直接报错退出了。 Traceback (most recent call last): During handling of the above exception, another exception occurred: Traceback (most recent call last): |
我的cookie是放在yaml里面的,cookie和X-Csrf-Token都再yaml里面,位置应该无所谓吧。 |
哇,终于找到原因了。不过你这个需要加 X-Csrf-Token的截图,我在文档里面没找到。 |
因为文档还在更新,没有合并到主分支。还是不能下载的情况还是需要你自行来排查原因,因为测试全是通过的 |
多谢了 |
问题描述
下载twitter视频的时候,出现了状态码: 403。希望知道正确的获取cookies方式和使用方式。
截图/代码示例
INFO 应用:twitter
INFO 模式:post
INFO 主配置路径:D:\Temp\f2\f2\conf\app.yaml
INFO 自定义配置路径:D:\Temp\f2\twi.yaml
WARNING 第 1 次请求响应内容为空, 状态码: 403,
URL:https://x.com/i/api/graphql/laYnJPCAcVo0o6pzcnlVxQ/UserByScreenName?xxxxxxxxxxxx太长就删了
WARNING 第 2 次请求响应内容为空, 状态码: 403,
URL:https://x.com/i/api/graphql/laYnJPCAcVo0o6pzcnlVxQ/UserByScreenName?xxxxxxxxxxxx太长就删了
WARNING 第 3 次请求响应内容为空, 状态码: 403,
URL:https://x.com/i/api/graphql/laYnJPCAcVo0o6pzcnlVxQ/UserByScreenName?xxxxxxxxxxxx太长就删了
WARNING 第 4 次请求响应内容为空, 状态码: 403,
URL:https://x.com/i/api/graphql/laYnJPCAcVo0o6pzcnlVxQ/UserByScreenName?xxxxxxxxxxxx太长就删了
The text was updated successfully, but these errors were encountered: