Der beste Weg, um große Datenmengen mit R von Twitter zu speichern?

8

Ich arbeite an einem Projekt, das darauf abzielt, einen großen Datensatz (dh Tweet-Daten, die ein paar Tage alt sind) von Twitter mithilfe der twitteR-Bibliothek auf R. abzurufen. Es ist schwierig, Tweets zu speichern, da mein Computer nur über 8 GB Speicher verfügt . Es ging der Speicher aus, noch bevor ich es für einen Tag abrufen wollte. Gibt es eine Möglichkeit, die Tweets direkt auf meiner Festplatte zu speichern, ohne sie im RAM zu speichern? Ich verwende die Streaming-API nicht, da ich alte Tweets erhalten muss.

Digitaler Typ
quelle
1
Warum verwenden Sie nicht Python oder nur Befehlszeilentools, um Twitter-Daten abzurufen, in Blöcken (sogar gzipped) zu speichern und dann zur Analyse zu R zurückzukehren?
Anton Tarasenko
Kann Python alte Tweets mit der von Ihnen genannten Methode abrufen?
Digital Dude
Es kann, aber Sie müssen den API-Zugang von Twitter oder einem anderen Verkäufer der Twitter-Geschichte kaufen.
Anton Tarasenko

Antworten:

5

Finden Sie eine Möglichkeit, Ihr Programm regelmäßig auf die Festplatte schreiben zu lassen. Zählen Sie die Anzahl der Tweets, die Sie abrufen und speichern, nachdem diese Anzahl hoch ist. Ich schreibe kein R, aber der Pseudocode könnte folgendermaßen aussehen:

$tweets = get_tweets(); $count = 0; $tweet_array = array(); for each ($tweets as $tweet) { $tweet_array += $tweet; $count++; if ($count > 10000) { append_to_file($tweet_array, 'file_name.txt'); clear_array($tweet_array); } }

sheldonkreger
quelle
1
Ja, es könnte bei der Programmierung möglich sein, aber für R ist die Art und Weise, wie Daten verarbeitet werden, ganz anders. Ich benutze die Bibliothek twitteR von R und die Minute, die ein Abruf dauert, ist eines Tages. Ich bin mir nicht sicher, wie ich von dem Punkt an fortfahren soll, an dem ich mit dem Tweet aufhöre, wenn ich die Funktion searchTweets erneut ausführe.
Digital Dude
Ich wünschte, ich wüsste mehr über R, um Ihnen zu helfen. Es tut uns leid!
Sheldonkreger
2

Ich habe letzten Herbst an einem Twitter-Datenprojekt gearbeitet, bei dem wir Java-Bibliotheken verwendet haben, um Tweet-Daten aus dem Streaming und den restlichen APIs abzurufen. Wir haben Twitter4J (eine inoffizielle Java-Bibliothek) für die Twitter-API verwendet .

Die Tweet-Daten wurden abgerufen und direkt auf Textdateien auf unseren Festplatten geschrieben. Ja, wir haben den Speicher und den Heap vergrößert. Ich glaube, dass R Studio eine ähnliche Option haben wird. Eine Alternative wäre, weniger Tweet-Daten mit mehr Wiederholungen abzurufen.

Programmierer ohne Titel
quelle