python - Tweepy 检查被阻止的用户?
问题描述
有没有办法像is_blocked
方法一样检查用户是否被阻止?我现在设置它的方式是获取我被阻止的用户的列表并将推文的作者与列表进行比较,但它的效率非常低,因为它经常遇到速率限制。
相关代码:
blocked_screen_names = [b.screen_name for b in tweepy.Cursor(api.blocks).items()]
for count, tweet in enumerate(tweepy.Cursor(api.search, q = query, lang = 'en', result_type = 'recent', tweet_mode = 'extended').items(500)):
if tweet.user.screen_name in blocked_screen_names:
continue
解决方案
不,您必须按照您当前的方式进行操作。
(另外,顺便说一句,您最好通过他们的帐户 ID 而不是他们的屏幕名称检查被阻止的用户,因为这个值不会改变,而用户的屏幕名称可以)
以供将来参考,只需查看 Twitter API 文档,您可以在其中立即获得类似问题的答案 :) 让您自己不必等待有人在这里为您回答!
您会注意到 V1 和 V2 的文档都不包含您所描述的属性:
V1 用户对象:
https://developer.twitter.com/en/docs/twitter-api/v1/data-dictionary/object-model/tweet
V2 用户对象:
https://developer.twitter.com/en/docs/twitter-api/data-dictionary/object-model/user
推荐阅读
- bash - bash脚本我正在尝试使用的一行代码
- elasticsearch - 从弹性节点客户端迁移到传输或休息客户端
- autohotkey - AutoHotKey 按键切换
- elasticsearch - Elasticsearch 聚合 Suggesters 的结果
- ios - 一旦我开始滚动,我的带有自定义 xib 单元格的 UITableView 就会消失
- c# - puppetersharp 中的单页 PDF
- c - 生成对象数据以用作导致错误的函数参数的语法
- ios - 切换到横向时,Tableview 将约束更改为全屏
- angular - https request to AWS Load Balancer failing from Angular 6 app
- laravel - Eloquent ORM relationship always return null in laravel