Search
REDES SOCIALES

2.3.5. Twitter – X

Twscrape

Actualmente, la herramienta más resolutiva y eficaz para la recolección de información en Twitter / X es Twscrape, la cual interactúa directamente con los endpoints de la API y GraphQL devolviendo los datos de forma estructurada.

Es fundamental evitar el uso de cuentas personales para la autenticación; en su lugar, se aconseja recurrir a cuentas secundarias (sock puppets), ya que existe un riesgo real de suspensión o baneo permanente por parte de la plataforma ante peticiones automatizadas.

El repositorio oficial del proyecto, desarrollado por vladkens, se encuentra disponible en:

https://github.com/vladkens/twscrape

Instalación y configuración de cuentas

1. Descarga e instalación con pipx (crea entre bastidores un entorno virtual venv exclusivo e independiente para esa aplicación):

				
					pipx install twscrape 
				
			

2. Después loginarse en navegador y obtener valores auth_token y ct0 de la cookie (sesion). Una forma de utilizarlos es el inspector del navegador como se indica en la siguiente pantalla para Firefox:

Obtención valores cookies auth twscrape

3. Se incorporan los datos de la sesión en la base de datos de cuentas de twscrape con la siguiente instrucción y posteriormente se comprueba:

				
					twscrape add_cookie "usuario" "auth_token<AUTH>; ct0=<CTO>"
twscrape accounts
				
			

Notas:

  • Se recomienda varias cuentas suñuelo (falsas) para no bloquear la API por sesión. Cuando hay varias, twscrape tiene un sistema de rotación.
  • Si la cookie o sesión “muere”, se puede volver a hacer el proceso y se “machaca” datos nuevos de sesión.
Introducir sesión twscrape

Uso básico de Twscrape

Lo óptimo es obtener información de la cuenta en general con datos como id, username, etc. a partir de la siguiente instrucción:

				
					twscrape user_by_login <nombre_cuenta>
				
			
Información básica twscrape

A continuación, en el repositorio del proyecto se proponen diferentes instrucciones a modo de ejemplo para diferentes tipos de ítems (TWEET_ID, USER_ID, USERNAME…):

Nota: Se recomienda emplear jq como se indica en el primer comando para hacer lectura fácil de JSON, terminando las instrucciones con | jq .

				
					twscrape search "QUERY" --limit=20 | jq .
twscrape tweet_details TWEET_ID
twscrape tweet_replies TWEET_ID --limit=20
twscrape tweet_thread TWEET_ID --limit=20
twscrape retweeters TWEET_ID --limit=20
twscrape user_by_id USER_ID
twscrape user_by_login USERNAME
twscrape user_about USERNAME
twscrape user_media USER_ID --limit=20
twscrape following USER_ID --limit=20
twscrape followers USER_ID --limit=20
twscrape verified_followers USER_ID --limit=20
twscrape subscriptions USER_ID --limit=20
twscrape user_tweets USER_ID --limit=20
twscrape user_tweets_and_replies USER_ID --limit=20
twscrape list_timeline LIST_ID --limit=20
twscrape list_members LIST_ID --limit=20
twscrape community_info COMMUNITY_ID
twscrape community_members COMMUNITY_ID --limit=20
twscrape community_moderators COMMUNITY_ID --limit=20
twscrape community_tweets COMMUNITY_ID --limit=20
twscrape trends sport

Por ejemplo:
twscrape search "elon musk lang:es" --limit=20 > tweets.jsonl
twscrape search "elon musk lang:es" --limit=20 --raw
				
			
Información jq con twscrape