【发布时间】:2016-06-26 13:52:47
【问题描述】:
我正在尝试在我的 Twython 搜索中排除 retweets 和 replies。
这是我的代码:
from twython import Twython, TwythonError
app_key = "xxxx"
app_secret = "xxxx"
oauth_token = "xxxx"
oauth_token_secret = "xxxx"
naughty_words = [" -RT"]
good_words = ["search phrase", "another search phrase"]
filter = " OR ".join(good_words)
blacklist = " -".join(naughty_words)
keywords = filter + blacklist
twitter = Twython(app_key, app_secret, oauth_token, oauth_token_secret)
search_results = twitter.search(q=keywords, count=100)
问题在于-RT 函数并没有真正起作用。
编辑:
我尝试了@forge 建议,虽然它确实打印了如果推文不是转发或回复,但当我将它们合并到下面的代码中时,机器人仍然会找到推文、转发、引用和回复。
twitter = Twython(app_key, app_secret, oauth_token, oauth_token_secret) query = 'beer OR wine AND -filter:retweets AND -filter:replies'
response = twitter.search(q=query, count=100)
statuses = response['statuses']
try:
for tweet in statuses:
try:
twitter.retweet(id = tweet["id_str"])
except TwythonError as e:
print e
except TwythonError as e:
print e
有什么想法吗?有filter:quotes吗?
【问题讨论】:
-
我尝试在我的坏词字段中包含“-filter:retweets”和“-filter:replies”,但没有得到任何运气。让 api 只返回推文而不回复引用或转发真的有这么难吗?
-
你也可以作为[Craig Addyman]给的教程使用-craigaddyman.com/mining-all-tweets-with-python