大家好,我目前正在做一些研究,并利用twitter api收集信息。我写了一些代码来查询python中的特定推文,并希望将结果保存到文本文件,但我的代码只返回返回的推文的最后一条推文,任何人都可以告诉我如何纠正这个和什么'错了? 以下是我在Python中的代码示例,仅保存最后一条推文而不是所有返回的推文:
u = urllib2.urlopen('http://search.twitter.com/search.json?geocode=29.762778,-95.383056,10.0mi&page=1&rpp=10')
datares = json.load(u)
pprint.pprint(datares)
for tweet in datares['results']:
print tweet['text']
archive=tweet['text']
unicodedata.normalize('NFKD', archive).encode('ascii','ignore')
with codecs.open('HTXtweets.txt',mode='w', encoding='utf-8',errors='replace') as cache:
cache.write(archive)
cache.closed
答案 0 :(得分:1)
您将在循环的每次迭代中打开文件。每次都会从头开始重新创建它。
你应该在循环之前打开它 - 你不需要在结束时关闭它,因为当with
语句结束时它会自动发生。
答案 1 :(得分:0)
原因是您在每次迭代中打开文件进行写入。这将替换文件中的现有内容。在打开文件时,请尝试使用标记'a'
(如附加内容)。