[PYTHON] So sammeln Sie Tweets so schnell wie möglich von tweetid (72000 Tweets / Stunde)

So sammeln Sie Tweets so schnell wie möglich von tweetid (72000 Tweets / Stunde)

Umgebung

MacOS, Linux python v3.4.3 PHP v2.5.0

Überblick

Die Datenverteilung ist oft tweetid, aber Twitter-Crawls sind begrenzt und oft umständlich zu sammeln. Dieses Mal werde ich Ihnen zeigen, wie Sie Tweets von tweetid sammeln. Ich verwende 100 offiziell angekündigte Tweets pro Anfrage mit dem Namen GET statuses / lookup. (Ich kenne die Details nicht)

Für das Crawlen ist ein Twitter-Konto erforderlich

Wie viele von Ihnen vielleicht wissen, benötigen Sie ein Konto, um Twitter zu crawlen. Darüber hinaus müssen Sie die folgenden vier Informationen von Twitter-Entwicklern erhalten. Die Erklärung rollt hier herum, also sammeln Sie sie bitte selbst.

Code und Verwendung

Bitte beachten Sie das auf Github veröffentlichte Skript. Twitter Crawl Script

Verwenden Sie bei Bedarf Github

git clone https://github.com/ace12358/twitter/

Bitte verwenden Sie es, da Sie die erforderlichen Skripte in vorbereiten können. Unten finden Sie ein Beispiel für die Verwendung des Codes im src / repository.

Fügen Sie als Nächstes die vier Informationen hinzu, die Sie zum Skript in tweetid2json.php erhalten haben.

Sobald es fertig ist

php tweetid2json.php 418033807850496002

Wenn Sie dies tun, können Sie im JSON-Format crawlen. Hier

php tweetid2json.php 418033807850496002 | python json_reader3.4.3.py

damit

418033807850496002 Frohes Neues Jahr! Die Ausgabe ist mit Tabulatortrennzeichen wie möglich möglich. Übrigens können Sie bis zu 100 Tweetids wie 418033807850496002 anfordern, die durch Kommas getrennt sind. Es gibt ein Shell-Skript, das diese zusammenfasst

bash make_tweet.sh ../data/tweet_id_list.txt

Liest und crawlt alle 6 Sekunden eine Zeile (TweetID (s)) der Datei durch Ausführen. Alle 6 Sekunden ist, weil es das Limit nicht erreicht.

Das ist alles für die Erklärung. Am effizientesten sammeln 100 mit ',' verknüpfte Tweetids erstellen eine einzeilige Datei

bash make_tweet.sh ../data/tweet_id_list.txt

Es wäre schön zu rennen.

Das Sammeln von Daten von etwa 1 Million Tweets dauert ungefähr einen Tag. Auf dem Server etc.

nohop bash make_tweet.sh ../data/tweet_id_list.txt > tweetid_tweet.txt &

Es ist gut, es als solches zu belassen. Wenn Sie es eilig haben, können Sie mehrere Konten erstellen und parallel verarbeiten.

Wenn Aufruf der undefinierten Funktion curl_init () nach der Installation von PHP einen Fehler ausgibt

Verweise

wenn Sie Probleme haben

Bitte wenden Sie sich an @ Ace12358. Ich denke, ich kann dir bald antworten.

Recommended Posts

So sammeln Sie Tweets so schnell wie möglich von tweetid (72000 Tweets / Stunde)
Wie man Selen so leicht wie möglich macht
Studie aus Python Hour7: Verwendung von Klassen
So beheben Sie den Fehler, der in toimage aufgetreten ist (aus PIL.Image Import fromarray als toimage)
So bekommen Sie einen Ingenieur aus Ihren 30ern
Wie man SWIG von waf benutzt
So sammeln Sie Bilder in Python
So starten Sie den Explorer über die WSL
So greifen Sie über Python auf Wikipedia zu
So konvertieren Sie von .mgz nach .nii.gz
Sammeln von Daten zum maschinellen Lernen
Anfängern gewidmet! Wie man mit so wenig Geld wie möglich das Programmieren lernt
So erstellen Sie einen Klon aus Github
So sammeln Sie Twitter-Daten ohne Programmierung
So konvertieren Sie das Format einfach aus Markdown
So aktualisieren Sie Google Sheets von Python
So installieren Sie CatBoost [Stand Januar 2020]
[TF] Verwendung von Tensorboard von Keras
Verwendung von Multi-Core aus der Sicht mehrerer Sprachen
Zugriff auf RDS von Lambda (Python)
So bedienen Sie Linux von der Konsole aus
Wie man relativ einfach Gesichtsbilder sammelt
So erstellen Sie ein Repository aus Medien
So greifen Sie von außen auf den Datenspeicher zu