python - Twython 帮助:有没有办法在 twitter 用户的简历中搜索带有特定关键字的用户?
问题描述
我正在尝试找出有趣的人在 Twitter 上关注。为此,我想找到发布包含各种关键字的推文的用户,然后过滤掉 bios 中不包含某些关键字的用户。
我正在使用以下代码来识别推文,然后自动关注发推文的用户:
naughty_words = ["example"]
good_words = ["example", "example"]
filter = " OR ".join(good_words)
blacklist = " -".join(naughty_words)
keywords = filter + blacklist
twitter = Twython(consumer_key, consumer_secret, access_token,
access_token_secret)
search_results = twitter.search(q=keywords, count=10)
try:
for tweet in search_results["statuses"]:
try:
st=tweet["entities"]["user_mentions"]
if st != []:
twitter.create_friendship(screen_name=st[0]["screen_name"])
except TwythonError as e:
print(e)
except TwythonError as e:
print(e)
此代码运行良好,但我想更多地过滤我的结果,因为此方法返回了很多我不想关注的用户!有谁知道我如何修改它以包含第二个查看用户简历的过滤器?
解决方案
根据Twitter Doc,您可以根据查询字符串搜索用户。但是,如果我查看Twython API 文档,似乎不直接支持此调用。另一方面,Tweepy 提供了相应的方法 API.search_users,请参见此处。
我不认为您可以在一个请求中搜索用户和推文。所以可能不得不坚持你当前的推文搜索,如果你已经看过这些用户,请检查每条推文。如果没有,您必须获取用户的个人资料并检查他们是否满足您的条件(可能是批量用户以限制 API 调用的数量)。
编辑:您可能也可以使用 Twython 来搜索用户。虽然它不提供专用方法,但它提供了一个通用方法get
,您可以在其中调用任何端点。所以它可能看起来像:
get('users/search', params={'q': 'soccer music -sex -porn'})
我自己没有尝试过,但这就是我可以从 Twython Docs 获得的。
推荐阅读
- ios - 从枚举中设置 UISegmentedControl 的标题(内置于 IB,而不是代码)
- c# - 查询已删除的列
- aws-lambda - KeyError:AWS Lambda 中的“记录”
- php - 如何在 git 中包含 WordPress 插件更改和相关的数据库迁移?
- ios - 快速按钮单击以显示带有工具栏视图的键盘
- typescript - 如何使用带有 Typescript 的 expo AppLoading 组件?
- javascript - 使用整数数组参数的排序函数不起作用
- sql - 查找所有开头包含“+7”的数字
- java - 无法检测到 NoMoreReturnsException 的来源
- python - cx_Freeze 不想将图标应用于 .exe 文件