J'utilise Tweepy pour télécharger les tweets. J'ai un programme qui écrit ensuite l'objet Status
réel dans un fichier sous forme de texte. Comment traduire cela en JSON ou réimporter cet objet en Python? J'ai essayé d'utiliser la bibliothèque JSON pour coder, mais Status n'est pas sérialisable JSON.
L'objet Status
de tweepy lui-même n'est pas sérialisable JSON, mais il a un _json
propriété qui contient des données de réponse sérialisables JSON. Par exemple:
>>> status_list = api.user_timeline(user_handler)
>>> status = status_list[0]
>>> json_str = json.dumps(status._json)
Une meilleure façon de procéder consiste à utiliser un analyseur tweepy. Ce n'est pas très bien documenté - voir la référence de l'API Tweepy - mais c'est une API publique, bien plus sûre que d'utiliser le _json
propriété.
import tweepy
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
api = tweepy.API(auth, parser=tweepy.parsers.JSONParser())
status = api.user_timeline(user=username, count=1)[0]
json.dumps(status)
status
est maintenant un objet json.
users = api.search_users('TimHortons', 1)
print(json.dumps(users[0]._json))
Utilisez json.dumps(users[0]._json)
si l'objet a _json. Les utilisateurs n'étaient qu'un exemple.