Les gars, je veux enregistrer twitter info utilisateur comme nom, statuts, tweet dans mon fichier (soit json, txt, csv ou tout autre json ou texte sont préférés). J'ai essayé ce code et d'autres similaires mais aucun d'entre eux ne fonctionne. Les gars jettent un coup d'oeil au code ci-dessous et me suggèrent quels changements devrais-je faire ??enregistrer les informations de l'utilisateur twitter dans un fichier en utilisant StreamListener
import time
from tweepy import Stream
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener
import os
import json
ckey = '**********'
consumer_secret = '**********'
access_token_key = '**********'
access_token_secret = '**********'
start_time = time.time() #grabs the system time
keyword_list = ['twitter'] #track list
#Listener Class Override
class listener(StreamListener):
def __init__(self, start_time, time_limit=60):
self.time = start_time
self.limit = time_limit
def on_data(self, data):
while (time.time() - self.time) < self.limit:
try:
all_data = json.loads["text"]
username = all_data["user"]["name"]
tweets = all_date["user"]["statuses"]
saveFile = open('raw_tweets29.json', 'a')
saveFile.write(username)
saveFile.write('\n')
saveFile.close()
return True
except BaseException, e:
print 'failed ondata,', str(e)
time.sleep(5)
pass
exit()
def on_error(self, status):
print statuses
auth = OAuthHandler(ckey, consumer_secret) #OAuth object
auth.set_access_token(access_token_key, access_token_secret)
twitterStream = Stream(auth, listener(start_time, time_limit=20))
twitterStream.filter(track=['twitter'])
quand je lance sous le code cela me donne une erreur -
failed ondata, 'function' object has no attribute '__getitem__'
Je vous serais très reconnaissant de toute aide que vous pouvez me donner à travailler ce problème
Je vous recommande de ne pas inclure vos clés dans la question. Aussi, votre essai, sauf la section couvre trop de commandes. Essayez de le réduire pour pouvoir le déboguer correctement. –
Quelle version de Python utilisez-vous? –
J'utilise 2.7.3, l'exécution peut être à cause de try bloc –