Voir cet [article] par Anchibe-san (http://antibayesian.hateblo.jp/entry/20110828/1314491180) ・ Python3 (3.5.1) ・ Windows 10 (64 bits) ・ Installez python avec anaconda J'ai essayé de faire de même dans mon environnement.
Voir supplémentaire: ・ Http://www.slideshare.net/pika_shi/pythontwittertwitter ・ Htp: // d. Hatena. Droite. jp / Hangyo 22/20120430/1335786712 ・ Http://blog.kzfmix.com/entry/1206780815 Merci à tous ceux qui publient des informations utiles en ligne.
Pour le moment, quand je suis allé au point de dessiner un graphique le 11/06/2016, la version que j'utilise est la 3.1. Comme je suis coincé avec les restrictions de l'API, j'ai changé une partie de la source 3.1 et l'ai utilisée.
Pour les bases, veuillez vous référer à la page d'Anchibe. Voici quelques changements mineurs.
api = twitter.Api(consumer_key='***', #your_consumer_key,
consumer_secret='***', #your_consumer_secret,
access_token_key='***', #your_access_token_key,
access_token_secret='***', #your_access_token_secret,
input_encoding = "utf-8",
sleep_on_rate_limit=True)
Depuis que je l'ai installé avec anaconda, je voulais le faire avec conda, mais je n'ai pas pu installer la dernière version 3.0rc1 de python-twitter à partir de 2016/05 (il semble que des modifications aient été apportées pour prendre en charge Python v3), donc Utilisez pip.
pip install python-twitter==3.0rc1
⇒ Depuis le 28 mai 2016, la dernière version est la 3.1, donc
Ce sera pip install python-twitter == 3.1
.
pip install python-twitter == 4.0
. Je confirme avec le message affiché par.conda list
Une liste des packages installés dans s'affiche, vérifiez donc que python-twitter est installé.
Lorsque la version de python-twitter était 3.0rc1, une erreur s'est produite lorsqu'il y avait input_encording = 'utf-8' dans twitter.Api (), mais elle a été résolue lorsque la version est devenue 3.1.
GetFriends semble être une opération qui collecte des informations sur tout le monde, pas sur 100 personnes. Si vous n'avez pas besoin de beaucoup d'informations pour vérifier le fonctionnement de la source, définissez la limite supérieure avec'total_count = 'dans twitter.Api ().
En outre, il existe un paramètre tel que timeout = (par défaut 60 secondes)
, il peut donc être préférable de revoir le paramètre si la ligne est instable. * Je ne suis pas sûr.
En conséquence, le dessin du graphique est terminé. Ensuite, tirez des résultats significatifs du graphique. Ce n'est pas encore le cas.
twitter.error.TwitterError: [{'message': 'Rate limit exceeded', 'code': 88}]
Sortit de. En réponse, même si j'ai essayé de définir sleep_on_rate_limit = True, il était affiché dans python-twitter == 3.0rc1 qu'il s'agissait d'une erreur dans __init__
, mais à partir du 28 mai 2016, la dernière version 3.1 montre une erreur Ce n'est plus fait. Par conséquent résolu.
Dans le calcul du nombre de secondes pour dormir dans time.sleep dans _RequestUrl () de Python-twitter, il est tronqué après le point décimal avec int (), donc j'ai ajouté le nombre excédentaire ici et vérifié l'opération, mais seulement ici Cela ne semble pas avoir beaucoup d'importance car vous ne pouvez pas éviter de rester coincé dans les restrictions d'appel d'API en changeant.
Le dernier changement pour éviter les restrictions de l'API était un changement partiel de la source python-twitter. Modification du processus de mise en veille lorsque le numéro d'API restant est juste 0 pour dormir lorsque le numéro d'API restant est de 2 ou moins.
Jusqu'à présent, je peux dessiner un graphique, mais je ne trouve aucune signification dans le résultat. Il y a plusieurs raisons possibles à cela, par exemple si vous suivez trop de personnes dans divers domaines, ou si vous devez concevoir un algorithme pour dessiner des graphiques de réseau, mais cela est inconnu pour le moment. Nous continuerons de confirmer.
-Modifier python-twitter api.py.
https://github.com/bear/python-twitter/issues/350
Recommended Posts