我正试图获取用户输入的某个单词/标签的前50条tweet的文本。我尝试编写for循环来做到这一点,例如:
for i in range(1,50):
self.status_texts[i] = (statuses[i])
for i in range(1,50):
self.tweets = self.status_texts[i]['text']
但是它总是返回一个KeyError
。我基本上是在寻找一种方法来结合self.status_texts = (statuses[0])
的行动和行动,检索文本,目前在返回。
这可能吗?你们谁能给我一些建议,告诉我从哪里开始?
twitter_api = twitter.Twitter(auth=auth)
q = input('What to search for?')
q = str(q)
count = 50
search_results = twitter_api.search.tweets(q=q, count=count)
statuses = search_results['statuses']
f = open('twitter.txt', 'w')
class Tweeter():
def puretweets(self):
self.status_texts = (statuses[0])
self.status_texts1 = (statuses[1])
self.status_texts2 = (statuses[2])
return self.status_texts['text'], self.status_texts1['text'], self.status_texts2['text']
我猜,您希望返回一个元组,其中存储了所有tweet文本,这可以很容易地完成:
def puretweets(self):
# self.status_texts = (statuses[0])
# self.status_texts1 = (statuses[1])
# self.status_texts2 = (statuses[2])
return (statuses[i] for i in range(1, 50))
或简写为
def puretweets(self):
return statuses[1:50]