【发布时间】:2021-01-16 08:45:46
【问题描述】:
在第一次总统辩论期间,我创建了一个 tweepy 侦听器来将推文收集到本地 MongoDB,但我意识到我收集的推文被限制为 140 个字符,并且许多被截断到 140 个字符的限制。在我的信息流中,我定义了tweet_mode='extended',我认为它可以解决这个问题,但是,我仍然无法检索超过 140 个字符的完整推文长度。以下是我的代码:
auth.set_access_token(twitter_credentials.ACCESS_TOKEN, twitter_credentials.ACCESS_TOKEN_SECRET)
api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True)
# Create a listener MyListener that streams and stores tweets to a local MongoDB
class MyListener(StreamListener):
def __init__(self):
super().__init__()
self.list_of_tweets = deque([], maxlen=5)
def on_data(self, data):
try:
tweet_text = json.loads(data)
self.list_of_tweets.append(tweet_text)
self.print_list_of_tweets()
db['09292020'].insert_one(tweet_text)
except:
None
def on_error(self, status):
print(status)
def print_list_of_tweets(self):
display.clear_output(wait=True)
for index, tweet_text in enumerate(self.list_of_tweets):
m='{}. {}\n\n'.format(index, tweet_text)
print(m)
debate_stream = Stream(auth, MyListener(), tweet_mode='extended')
debate_stream = debate_stream.filter(track=['insert', 'debate', 'keywords', 'here'])
任何关于如何通过此侦听器获取完整扩展推文的意见将不胜感激!
【问题讨论】: