
Uno strumento avanzato di scraping di Twitter e OSINT scritto in Python che non utilizza l'API di Twitter, permettendoti di fare scraping dei follower, degli accounts seguiti, dei Tweet e altro di un utente, eludendo la maggior parte delle limitazioni dell'API.

Nessuna autenticazione. Nessuna API. Nessun limite.
Twint è un avanzato strumento di scraping di Twitter scritto in Python che consente di estrarre Tweet dai profili Twitter senza utilizzare l'API di Twitter.
Twint utilizza gli operatori di ricerca di Twitter per permetterti di estrarre Tweet da utenti specifici, estrarre Tweet relativi a determinati argomenti, hashtag e tendenze, o estrarre informazioni sensibili dai Tweet come email e numeri di telefono. Lo trovo molto utile, e puoi anche diventare molto creativo con esso.
Twint effettua anche query speciali a Twitter che ti consentono di estrarre anche i follower di un utente Twitter, i Tweet che un utente ha apprezzato, e chi segue senza alcuna autenticazione, API, Selenium o emulazione del browser.
Alcuni dei vantaggi dell'uso di Twint rispetto all'API di Twitter:
Twitter limita lo scorrimento durante la navigazione nella timeline dell'utente. Ciò significa che con .Profile o .Favorites sarai in grado di ottenere circa 3200 tweet.
Git:
git clone --depth=1 https://github.com/twintproject/twint.git
cd twint
pip3 install . -r requirements.txt
Pip:
pip3 install twint
o
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
Aggiunto: Dockerfile
Ho notato che molte persone hanno problemi di installazione (incluso me). Per favore utilizza il Dockerfile temporaneamente mentre li esamino.
Alcuni semplici esempi per aiutarti a capire le basi:
twint -u username - Estrai tutti i Tweet di un utente (non include retweet ma include risposte).twint -u username -s pineapple - Estrai tutti i Tweet dalla timeline dell'utente contenenti pineapple.twint -s pineapple - Raccogli ogni Tweet contenente pineapple dai Tweet di tutti.twint -u username --year 2014 - Raccogli Tweet che sono stati twittati prima del 2014.twint -u username --since "2015-12-20 20:30:15" - Raccogli Tweet che sono stati twittati a partire dal 20-12-2015 20:30:15.twint -u username --since 2015-12-20 - Raccogli Tweet che sono stati twittati a partire dal 20-12-2015 00:00:00.twint -u username -o file.txt - Estrai Tweet e salva in file.txt.twint -u username -o file.csv --csv - Estrai Tweet e salva come file csv.twint -u username --email --phone - Mostra Tweet che potrebbero contenere numeri di telefono o indirizzi email.Maggiori dettagli sui comandi e le opzioni si trovano nella wiki
Twint può ora essere utilizzato come modulo e supporta formattazione personalizzata. Maggiori dettagli si trovano nella wiki
import twint
# Configure
c = twint.Config()
c.Username = "realDonaldTrump"
c.Search = "great"
# Run
twint.run.Search(c)
Output
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)
I dettagli sulla configurazione di Elasticsearch con Twint si trovano nella wiki.

Maggiori dettagli sul Grafico si trovano anche nella wiki.
Stiamo sviluppando un'applicazione desktop per Twint.

Ho provato a estrarre tweet da un utente, so che esistono ma non li ottengo
Twitter può shadow-bannare gli account, il che significa che i loro tweet non saranno disponibili tramite ricerca. Per risolvere, passa --profile-full se stai usando Twint via CLI o, se stai usando Twint come modulo, aggiungi config.Profile_full = True. Tieni presente che questo processo sarà piuttosto lento.
Per ottenere solo i nomi utente dei follower/dei seguiti
twint -u username --followers
twint -u username --following
Per ottenere informazioni sugli utenti follower/seguiti
twint -u username --followers --user-full
twint -u username --following --user-full
Per ottenere solo le informazioni dell'utente
twint -u username --user-full
Per ottenere informazioni sugli utenti da un elenco di utenti
twint --userlist inputlist --user-full
Per ottenere 100 tweet in inglese e tradurli in italiano
twint -u noneprivacy --csv --output none.csv --lang en --translate --translate-dest it --limit 100
o
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)
Note:
Se hai domande, vuoi partecipare a discussioni o hai bisogno di ulteriore aiuto, sei il benvenuto a unirti al nostro canale incentrato su Twint su OSINT team
twint -s "Donald Trump" --verifiedtwint -g="48.880048,2.385939,1km" -o file.csv --csv - Estrai Tweet da un raggio di 1km intorno a un luogo a Parigi ed esportali in un file csv.twint -u username -es localhost:9200 - Invia Tweet a Elasticsearchtwint -u username -o file.json --json - Estrai Tweet e salva come file json.twint -u username --database tweets.db - Salva Tweet in un database SQLite.twint -u username --followers - Estrai i follower di un utente Twitter.twint -u username --following - Estrai chi un utente Twitter segue.twint -u username --favorites - Raccogli tutti i Tweet che un utente ha messo tra i preferiti (raccoglie circa 3200 tweet).twint -u username --following --user-full - Raccogli informazioni complete sugli utenti che una persona seguetwint -u username --timeline - Usa un metodo efficace per raccogliere Tweet dal profilo di un utente (raccoglie circa 3200 Tweet, inclusi retweet e risposte).twint -u username --retweets - Usa un metodo rapido per raccogliere gli ultimi 900 Tweet (che includono retweet) dal profilo di un utente.twint -u username --resume resume_file.txt - Riprendi una ricerca a partire dall'ultimo scroll-id salvato.