寻找一种更python化的方式从单个tweet中抓取文本



我正试图获取用户输入的某个单词/标签的前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]