Siehe diesen [Artikel] von Anchibe (http://antibayesian.hateblo.jp/entry/20110828/1314491180) ・ Python3 (3.5.1) ・ Windows 10 (64 Bit) ・ Installieren Sie Python mit anaconda Ich habe versucht, dasselbe in meiner Umgebung zu tun.
Siehe zusätzlich: ・ Http://www.slideshare.net/pika_shi/pythontwittertwitter ・ Htp: // d. Hatena. Richtig. jp / Hangyo 22/20120430/1335786712 ・ Http://blog.kzfmix.com/entry/1206780815 Vielen Dank an alle, die nützliche Informationen online veröffentlichen.
Zur Zeit, als ich am 11.06.2016 ein Diagramm gezeichnet habe, verwende ich Version 3.1. Da ich mit API-Einschränkungen festgefahren bin, habe ich einige der 3.1-Quellen geändert und verwendet.
Die Grundlagen finden Sie auf der Seite von Anchibe. Im Folgenden sind einige geringfügige Änderungen aufgeführt.
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)
Ich habe es mit anaconda installiert, also wollte ich es mit conda machen, aber ich konnte die neueste Version 3.0rc1 von python-twitter ab 2016/05 nicht installieren (es scheint, dass Änderungen vorgenommen wurden, um Python v3 zu unterstützen) Verwenden Sie pip.
pip install python-twitter==3.0rc1
⇒ Ab dem 28. Mai 2016 ist die neueste Version 3.1, also
Es wird pip install python-twitter == 3.1
sein.
conda list
Eine Liste der installierten Pakete wird angezeigt. Überprüfen Sie daher, ob Python-Twitter installiert ist.
Wenn die Version von Python-Twitter 3.0rc1 war, trat ein Fehler auf, wenn in twitter.Api () input_encording = 'utf-8' vorhanden war. Dieser Fehler wurde jedoch behoben, als die Version 3.1 wurde.
GetFriends scheint eine Operation zu sein, die Informationen über alle sammelt, nicht über 100 Personen. Wenn Sie nicht viele Informationen benötigen, um den Betrieb der Quelle zu überprüfen, legen Sie die Obergrenze mit'total_count = 'in twitter.Api () fest.
Es gibt auch eine Einstellung wie "timeout = (Standard 60 Sekunden)". Daher ist es möglicherweise besser, die Einstellung zu überprüfen, wenn die Leitung instabil ist. * Ich bin mir nicht sicher.
Infolgedessen wird die Diagrammzeichnung abgeschlossen. Leiten Sie als Nächstes aussagekräftige Ergebnisse aus dem Diagramm ab. Das ist noch nicht.
twitter.error.TwitterError: [{'message': 'Rate limit exceeded', 'code': 88}]
Kam heraus. Selbst wenn ich versuchte, sleep_on_rate_limit = True zu setzen, wurde in python-twitter == 3.0rc1 als Antwort angezeigt, dass es sich um einen Fehler in __init__
handelt, aber ab dem 28. Mai 2016 zeigt die neueste Version 3.1 einen Fehler Es ist nicht mehr fertig. Daher gelöst.
Bei der Berechnung der Anzahl der Sekunden, die in time.sleep in _RequestUrl () von Python-twitter zu schlafen sind, wird es nach dem Dezimalpunkt mit int () abgeschnitten, daher habe ich hier die überschüssige Zahl hinzugefügt und die Operation überprüft, aber nur hier Es scheint nicht viel zu bedeuten, da Sie nicht vermeiden können, durch Änderungen in API-Aufrufbeschränkungen stecken zu bleiben.
Die letzte Änderung zur Vermeidung von API-Einschränkungen war eine teilweise Änderung der Python-Twitter-Quelle. Der Ruhezustand, wenn die verbleibende API-Nummer nur 0 ist, wurde in den Ruhezustand geändert, wenn die verbleibende API-Nummer 2 oder weniger beträgt.
Bisher kann ich ein Diagramm zeichnen, aber ich kann keine Bedeutung im Ergebnis finden. Hierfür gibt es verschiedene mögliche Gründe, z. B. ob Sie zu vielen Personen in verschiedenen Bereichen folgen oder ob Sie einen Algorithmus zum Zeichnen von Netzwerkgraphen entwickeln müssen, der derzeit jedoch nicht bekannt ist. Wir werden weiterhin bestätigen.
-Edit python-twitter api.py.
https://github.com/bear/python-twitter/issues/350
Recommended Posts