Sin autenticación. Sin API. Sin límites.
Twint es una herramienta avanzada de raspado de Twitter escrita en Python que permite eliminar tweets de perfiles de Twitter sin utilizar la API de Twitter.
Twint utiliza los operadores de búsqueda de Twitter para permitirle extraer Tweets de usuarios específicos, extraer Tweets relacionados con ciertos temas, hashtags y tendencias, u ordenar información confidencial de Tweets como correo electrónico y números de teléfono. Esto me parece muy útil y también puedes ser muy creativo con él.
Twint también realiza consultas especiales a Twitter, lo que le permite extraer los seguidores de un usuario de Twitter, los Tweets que le han gustado a un usuario y a quién sigue sin ninguna autenticación, API, Selenium o emulación de navegador.
Algunos de los beneficios de usar Twint vs Twitter API:
Puede recuperar casi todos los Tweets (la API de Twitter limita solo los últimos 3200 Tweets);
Configuración inicial rápida;
Se puede utilizar de forma anónima y sin registrarse en Twitter;
Sin limitaciones de tarifas .
Twitter limita los desplazamientos mientras navega por la línea de tiempo del usuario. Esto significa que con .Profile
o con .Favorites
podrás obtener ~3200 tweets.
Pitón 3.6;
aiohttp;
aiodnos;
hermosa sopa4;
cchardet;
clases de datos
búsqueda elástica;
calcetines;
pandas (>=0,23,0);
aiohttp_socks;
cronograma;
geopia;
agente de usuario falso;
py-googletransx.
Git:
clon de git --profundidad=1 https://github.com/twintproject/twint.gitcd twint instalación de pip3. -r requisitos.txt
Pepita:
pip3 instalar twint
o
instalación de pip3 --usuario --actualización git+https://github.com/twintproject/twint.git@origin/master#egg=twint
Pipenv :
pipenv instala git+https://github.com/twintproject/twint.git#egg=twint
Añadido : Dockerfile
Noté que muchas personas tienen problemas con la instalación (incluyéndome a mí). Utilice el Dockerfile temporalmente mientras los reviso.
Algunos ejemplos sencillos para ayudarle a comprender los conceptos básicos:
twint -u username
: elimina todos los tweets de un usuario (no incluye retweets pero sí respuestas ).
twint -u username -s pineapple
: elimina todos los tweets de la línea de tiempo del usuario que contienen piña .
twint -s pineapple
: recopila todos los Tweets que contengan piña de los Tweets de todos.
twint -u username --year 2014
: recopila los tweets que se publicaron antes de 2014.
twint -u username --since "2015-12-20 20:30:15"
: recopila los tweets que se tuitearon desde el 2015-12-20 20:30:15.
twint -u username --since 2015-12-20
: recopila los tweets que se tuitearon desde el 2015-12-20 00:00:00.
twint -u username -o file.txt
: extrae tweets y guárdalos en archivo.txt.
twint -u username -o file.csv --csv
- Extraiga tweets y guárdelos como un archivo csv.
twint -u username --email --phone
: muestra Tweets que pueden tener números de teléfono o direcciones de correo electrónico.
twint -s "Donald Trump" --verified
- Muestra Tweets de usuarios verificados que tuitearon sobre Donald Trump.
twint -g="48.880048,2.385939,1km" -o file.csv --csv
- Extraiga tweets de un radio de 1 km alrededor de un lugar en París y expórtelos a un archivo csv.
twint -u username -es localhost:9200
- Salida de tweets a Elasticsearch
twint -u username -o file.json --json
: extrae tweets y guárdalos como un archivo json.
twint -u username --database tweets.db
: guarda tweets en una base de datos SQLite.
twint -u username --followers
: elimina los seguidores de un usuario de Twitter.
twint -u username --following
: elimina a quién sigue un usuario de Twitter.
twint -u username --favorites
: recopila todos los tweets que un usuario ha marcado como favoritos (reúne ~3200 tweets).
twint -u username --following --user-full
: recopila información completa del usuario que sigue una persona
twint -u username --timeline
: utilice un método eficaz para recopilar tweets del perfil de un usuario (reúne ~3200 tweets, incluidos retweets y respuestas ).
twint -u username --retweets
: utilice un método rápido para recopilar los últimos 900 tweets (que incluyen retweets) del perfil de un usuario.
twint -u username --resume resume_file.txt
: reanuda una búsqueda a partir del último ID de desplazamiento guardado.
Más detalles sobre los comandos y opciones se encuentran en la wiki.
Twint ahora se puede utilizar como módulo y admite formatos personalizados. Más detalles se encuentran en la wiki.
importar twint# Configurec = twint.Config()c.Username = "realDonaldTrump"c.Search = "great"# Runtwint.run.Search(c)
Producción
955511208597184512 2018-01-22 18:43:19 GMT <now> pineapples are the best fruit
importar twintc = twint.Config()c.Username = "noneprivacy"c.Custom["tweet"] = ["id"]c.Custom["user"] = ["bio"]c.Limit = 10c.Store_csv = Truec.Output = "ninguno"twint.run.Search(c)
Escribir al archivo;
CSV;
JSON;
SQLite;
Búsqueda elástica.
Los detalles sobre la configuración de Elasticsearch con Twint se encuentran en la wiki.
Los detalles del gráfico también se encuentran en la wiki.
Estamos desarrollando una aplicación de escritorio Twint.
Intenté extraer tweets de un usuario, sé que existen pero no los recibo.
Twitter puede bloquear cuentas, lo que significa que sus tweets no estarán disponibles mediante la búsqueda. Para resolver esto, pase --profile-full
si está usando Twint a través de CLI o, si está usando Twint como módulo, agregue config.Profile_full = True
. Tenga en cuenta que este proceso será bastante lento.
Para obtener solo nombres de usuario de seguidores/nombres de usuario de seguidores
twint -u username --followers
twint -u username --following
Para obtener información de usuario de seguidores/usuarios siguientes
twint -u username --followers --user-full
twint -u username --following --user-full
Para obtener solo información de usuario del usuario
twint -u username --user-full
Para obtener información de usuario de los usuarios de una lista de usuarios
twint --userlist inputlist --user-full
Obtener 100 tweets en inglés y traducirlos al italiano.
twint -u noneprivacy --csv --output none.csv --lang en --translate --translate-dest it --limit 100
o
importar twintc = twint.Config()c.Username = "noneprivacy"c.Limit = 100c.Store_csv = Truec.Output = "none.csv"c.Lang = "en"c.Translate = Truec.TranslateDest = "it" twint.run.Buscar(c)
Notas:
El traductor de Google tiene algunas cuotas.
Cómo utilizar Twint como herramienta OSINT
Tutorial básico realizado por Null Byte
Analizando Tweets con PNL en minutos con Spark, Optimus y Twint
Cargando tweets en Kafka y Neo4j
Si tiene alguna pregunta, desea unirse a las discusiones o necesita ayuda adicional, puede unirse a nuestro canal centrado en Twint en el equipo de OSINT.