我在试着找出一些有趣的人在Twitter上关注。为此, 我想找到那些发布包含各种关键字的tweet的用户,然后 过滤掉bios中不包含特定关键字的用户。在
我使用以下代码来识别tweets,然后自动 关注推特用户:
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)
这段代码工作得很好,但是我想过滤我的结果,因为这 方法返回了很多我不想跟踪的用户!有人知道吗 我如何修改这个,以包括第二个过滤器,看看用户的 bios?在
根据Twitter Doc,可以根据查询字符串搜索用户。但是,如果我检查Twython API documentation,似乎不直接支持此调用。另一方面,Tweepy提供了相应的方法API.search_用户,请参见here。在
我不认为你可以在一个请求中搜索用户和tweets。因此,可能必须坚持你当前的tweet搜索,如果你已经看到了这个用户,就检查每条tweet。如果没有,您必须获取用户的配置文件并检查它们是否满足您的条件(可能需要成批的用户来限制API调用的数量)。在
编辑:您也可以使用Twython搜索用户。虽然它不提供专用方法,但它提供了一个通用方法
get
,您可以在该方法中调用任何端点。所以它可能看起来像:我自己还没试过,但那是我从特威森医生那里得到的。在
相关问题 更多 >
编程相关推荐