
Ein fortschrittliches Twitter-Scraping- und OSINT-Tool in Python, das keine Twitter-API verwendet und es ermöglicht, die Follower, Following, Tweets und mehr eines Benutzers zu scrapen, während es die meisten API-Beschränkungen umgeht.

Keine Authentifizierung. Keine API. Keine Grenzen.
Twint ist ein fortschrittliches Twitter-Scraping-Tool in Python, das das Scrapen von Tweets aus Twitter-Profilen ohne Verwendung der Twitter-API ermöglicht.
Twint nutzt die Suchoperatoren von Twitter, um Tweets von bestimmten Benutzern zu scrapen, Tweets zu bestimmten Themen, Hashtags und Trends zu scrapen oder sensible Informationen wie E-Mails und Telefonnummern aus Tweets zu extrahieren. Ich finde das sehr nützlich, und man kann auch sehr kreativ damit werden.
Twint stellt auch spezielle Anfragen an Twitter, mit denen Sie Follower eines Twitter-Benutzers, Tweets, die ein Benutzer geliked hat, und wem sie folgen, ohne Authentifizierung, API, Selenium oder Browser-Emulation scrapen können.
Einige Vorteile der Verwendung von Twint gegenüber der Twitter-API:
Twitter begrenzt das Scrollen beim Durchsuchen der Benutzer-Timeline. Das bedeutet, dass Sie mit .Profile oder .Favorites etwa 3200 Tweets erhalten.
Git:
git clone --depth=1 https://github.com/twintproject/twint.git
cd twint
pip3 install . -r requirements.txt
Pip:
pip3 install twint
oder
pip3 install --user --upgrade git+https://github.com/twintproject/twint.git@origin/master#egg=twint
Pipenv:
pipenv install git+https://github.com/twintproject/twint.git#egg=twint
Hinzugefügt: Dockerfile
Ich habe festgestellt, dass viele Leute Probleme bei der Installation haben (einschließlich mir). Bitte verwenden Sie vorübergehend das Dockerfile, während ich mich darum kümmere.
Einige einfache Beispiele, um Ihnen die Grundlagen zu veranschaulichen:
twint -u username - Scrapen aller Tweets eines Benutzers (enthält keine Retweets, aber Antworten).twint -u username -s pineapple - Scrapen aller Tweets aus der Timeline des Benutzers, die pineapple enthalten.twint -s pineapple - Sammeln aller Tweets, die pineapple enthalten, aus allen Tweets.twint -u username --year 2014 - Sammeln von Tweets, die vor 2014 getwittert wurden.twint -u username --since "2015-12-20 20:30:15" - Sammeln von Tweets, die seit dem 20.12.2015 20:30:15 getwittert wurden.twint -u username --since 2015-12-20 - Sammeln von Tweets, die seit dem 20.12.2015 00:00:00 getwittert wurden.twint -u username -o file.txt - Scrapen von Tweets und Speichern in file.txt.twint -u username -o file.csv --csv - Scrapen von Tweets und Speichern als CSV-Datei.twint -u username --email --phone - Zeige Tweets, die möglicherweise Telefonnummern oder E-Mail-Adressen enthalten.Weitere Details zu den Befehlen und Optionen finden Sie im Wiki.
Twint kann jetzt als Modul verwendet werden und unterstützt benutzerdefinierte Formatierung. Weitere Details finden Sie im Wiki
import twint
# Configure
c = twint.Config()
c.Username = "realDonaldTrump"
c.Search = "great"
# Run
twint.run.Search(c)
Ausgabe
955511208597184512 2018-01-22 18:43:19 GMT <now> pineapples are the best fruit
import twint
c = twint.Config()
c.Username = "noneprivacy"
c.Custom["tweet"] = ["id"]
c.Custom["user"] = ["bio"]
c.Limit = 10
c.Store_csv = True
c.Output = "none"
twint.run.Search(c)
Details zur Einrichtung von Elasticsearch mit Twint finden Sie im Wiki.

Details zum Graph finden Sie ebenfalls im Wiki.
Wir entwickeln eine Twint Desktop App.

Ich habe versucht, Tweets von einem Benutzer zu scrapen, ich weiß, dass sie existieren, bekomme sie aber nicht.
Twitter kann Konten shadow-bannen, was bedeutet, dass ihre Tweets nicht über die Suche verfügbar sind. Um dies zu lösen, übergeben Sie --profile-full, wenn Sie Twint über die CLI verwenden, oder fügen Sie bei Verwendung von Twint als Modul config.Profile_full = True hinzu. Bitte beachten Sie, dass dieser Vorgang recht langsam sein kann.
Um nur die Benutzernamen der Follower/Following zu erhalten
twint -u username --followers
twint -u username --following
Um Benutzerinformationen von Followern/Following-Benutzern zu erhalten
twint -u username --followers --user-full
twint -u username --following --user-full
Um nur Benutzerinformationen des Benutzers zu erhalten
twint -u username --user-full
Um Benutzerinformationen von Benutzern aus einer Benutzerliste zu erhalten
twint --userlist inputlist --user-full
Um 100 englische Tweets zu erhalten und ins Italienische zu übersetzen
twint -u noneprivacy --csv --output none.csv --lang en --translate --translate-dest it --limit 100
oder
import twint
c = twint.Config()
c.Username = "noneprivacy"
c.Limit = 100
c.Store_csv = True
c.Output = "none.csv"
c.Lang = "en"
c.Translate = True
c.TranslateDest = "it"
twint.run.Search(c)
Hinweise:
Wenn Sie Fragen haben, an Diskussionen teilnehmen möchten oder zusätzliche Hilfe benötigen, sind Sie herzlich eingeladen, unserem Twint-spezifischen Kanal im OSINT-Team beizutreten.
twint -s "Donald Trump" --verified - Zeige Tweets von verifizierten Benutzern, die über Donald Trump getwittert haben.twint -g="48.880048,2.385939,1km" -o file.csv --csv - Scrapen von Tweets aus einem Umkreis von 1 km um einen Ort in Paris und Export als CSV-Datei.twint -u username -es localhost:9200 - Ausgabe von Tweets in Elasticsearchtwint -u username -o file.json --json - Scrapen von Tweets und Speichern als JSON-Datei.twint -u username --database tweets.db - Speichern von Tweets in einer SQLite-Datenbank.twint -u username --followers - Scrapen der Follower eines Twitter-Benutzers.twint -u username --following - Scrapen, wem ein Twitter-Benutzer folgt.twint -u username --favorites - Sammeln aller Tweets, die ein Benutzer favorisiert hat (sammelt ~3200 Tweets).twint -u username --following --user-full - Sammeln der vollständigen Benutzerinformationen einer Person, der gefolgt wird.twint -u username --timeline - Verwenden einer effektiven Methode zum Sammeln von Tweets aus dem Profil eines Benutzers (sammelt ~3200 Tweets, einschließlich Retweets & Antworten).twint -u username --retweets - Verwenden einer schnellen Methode zum Sammeln der letzten 900 Tweets (einschließlich Retweets) aus dem Profil eines Benutzers.twint -u username --resume resume_file.txt - Fortsetzen einer Suche ab der zuletzt gespeicherten Scroll-ID.