2012-04-20 7 views
0

こんにちは私は現在、いくつかの調査をしており、TwitterのAPIを利用して情報を収集していました。私はPythonで特定のつぶやきを検索するコードを書いて、結果をテキストファイルに保存したいのですが、コードは戻ってきたつぶやきの最後のつぶやきを返すだけです。 次は代わりに返さツイートのすべての最後のつぶやきを保存Pythonで私のコードのサンプルです:Twitterから取得したデータを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 

答えて

1

結果をループの各繰り返しでファイルを開いています。これは毎回ゼロから再作成します。

ループの前に開く必要があります。最後に閉じる必要はありません。これは、withステートメントが終了すると自動的に終了するためです。

+0

ファイルを一度しか開いていないので、これは私の提案よりも良い方法だと思います。 – Maehler

+0

ダニエルおかげであなたの提案は、トリックと最後に近くを必要としないの先端の余分なヒントをした本当に洞察に感謝します! – Techsan

0

この理由は、あなたが各反復で書き込み用のファイルを開くことです。これにより、ファイル内の既存のコンテンツが置き換えられます。ファイルを開くときにフラグ'a'(追加のように)を使用してみてください。

+0

フィードバックに感謝McFjodor私はそれが私のsillymistakeを見るために目の新鮮なペアを取ったと思います! – Techsan