生のつぶやきをダウンロードするためにTwitterのAPIを使用しています。生のツイート文字列をPythonのJSONオブジェクトに変換する
iterator = twitter_stream.statuses.sample()
for tweet in iterator:
print (json.dumps(tweet))
break
これらのコマンドの出力正しい形式で全体JSONオブジェクト:彼らは一例に与えたイテレータループは、この(私はここには示されていないループをn回、実行するかの条件を追加しました)のようになります。
は、生のツイートJSONオブジェクトから「テキスト」の項目を抽出するには、私はtxts = []
for tweet in iterator:
txts.append((json.dumps(tweet)).get("text"))
break
print (txts)
上に.get(「テキスト」)演算子を使用してみました。しかし、私は「はAttributeErrorというエラーを取得:「STRを'オブジェクトには属性' get 'がありません
私は検索して、json.dumps(ツイート)からファイルへのすべての出力を書き出し、変数にjson.loads(jsonfile)を使用し、テキストをロードするために.get( "text")演算子を使用しようとしました:
fl = open("ipjson.json", "a")
for tweet in iterator:
fl.write(json.dumps(tweet))
break
fl.flush()
decode = json.loads(fl)
for item in decode:
txt = item.get("text")
txts.append(txt)
print (txts)
しかし、これは私に "TypeError:JSONオブジェクトは 'TextIOWrapper'ではなくstrでなければならないというエラーです。
私は間違っていますか?未処理のツイートJSONオブジェクトからテキストを抽出する方が簡単ですか?
'print(json.dumps(tweet)) 'の出力を提供し、そこから得たい正確なデータを指摘できますか? – niemmi
ダンプを実行してからロードする必要はありません。情報は既にtweet変数に入っている可能性があります。 –