【问题标题】:Saving Data retrieved from Twitter utilizing Python to a text file?将使用 Python 从 Twitter 检索到的数据保存到文本文件中?
【发布时间】:2012-05-02 02:23:03
【问题描述】:

大家好,我目前正在做一些研究,并正在使用 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

【问题讨论】:

    标签: python caching twitter


    【解决方案1】:

    您在循环的每次迭代中都通过结果打开文件。每次都会从头开始重新创建它。

    你应该在循环之前打开它——你不需要在最后关闭它,因为with语句完成时会自动发生。

    【讨论】:

    • 我想这比我的建议更好,因为您只打开文件一次。
    • 感谢丹尼尔您的建议起到了作用,并感谢您提供的额外提示,即不需要最后关闭的提示非常感谢您的洞察力!
    【解决方案2】:

    这样做的原因是您打开文件以在每次迭代中写入。这将替换文件中的现有内容。在打开文件时尝试使用标志'a'(如附加)。

    【讨论】:

    • 感谢 McFjodor 的反馈,我想我花了一双新的眼睛才能看到我的愚蠢错误,我很感激!
    猜你喜欢
    • 1970-01-01
    • 2012-08-10
    • 1970-01-01
    • 1970-01-01
    • 2021-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多