【发布时间】:2015-10-15 13:12:38
【问题描述】:
我试图只获取用户输入的某个单词/标签的前 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']
【问题讨论】:
-
关于代码sn-ps:前者无效(第二个循环是否嵌套)并且不清楚为什么包含第二个sn-p。谢谢
-
@JohnMee 是的,第二个循环是嵌套的 - 包括第二个 sn-p 以显示我目前如何完成我正在寻找的更优雅的解决方案。欢呼
-
所以基本上你想返回一个长度为
50的元组,其中包含推文的文本? -
是的,但我不知道如何让文本进入元组