寻找更加Pythonic的方式从个别推文中获取文本

时间:2015-10-15 04:26:19

标签: python twitter

我试图抓住用户输入的某个字/标签的前50条推文的文字。我尝试编写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']

1 个答案:

答案 0 :(得分:2)

到目前为止,我想,你想要返回一个包含存储在其中的所有推文文本的元组,这可以很容易地完成:

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]
相关问题