Tal y cómo os escribí en “anteriores artículos”, en este · (nº5) · de la serie dedicada a “técnicas” <OSINT> (y algunos más) hablaremos sobre “Twitter” (no confundáis con “red social“, pues no es así) y de las “herramientas” que se encuentran a nuestra disposición para <extraer información>. Dicho lo cuál, – al lío!.. }:D
<Twitter> es una “
red social” (no es una “red social”) que según fuentes oficiales, tiene cerca de <240 millones de usuarios> (..) y afortunadamente para muchos, cuenta con una <API Rest> que permite controlar una cuenta y realizar búsquedas muy especificas utilizando varios tipos de filtros.
Inicialmente muchas de las funciones definidas en la <API> se podían invocar directamente sin necesidad de tener una cuenta, pero a partir de la “versión 1.1”, es necesario contar con una aplicación en <Twitter> vinculada a una cuenta y una serie de valores que corresponden a los “tokens de autenticación Oauth“.
La <API de Twitter> cuenta con una lista bastante amplia de funciones que pueden ser invocadas desde cualquier cliente, ya sea un programa desarrollado a medida o incluso un “navegador web“, ya que al ser una “API Rest”, utiliza el “protocolo <HTTP>” como “protocolo de transferencia de datos“.
[#]-; La documentación sobre la <API de Twitter> la encontraréis disponible haciendo "clic"en la imagen superior.
;-[#] Además de la <API Rest>, también existen algunas otras librerías como por ejemplo la <Streaming API>, <Twitter Cards> y <Twitter for websites>. Más detalles sobre estas y otras librerías haciendo "clic" (otra vez!) en la <imagen superior> ;)
Los <servicios REST> pueden ser utilizados con peticiones <HTTP> “estándar” y en cualquier caso, si el servicio lo requiere, las “peticiones” deben contener “cabeceras” concretas que permitan realizar “procesos de <autenticación> y <autorización>”.
Partiendo de esto, existen varias posibilidades para crear un <script> en <Python> que pueda consumir un “servicio” <Rest>, por ejemplo utilizando el módulo “urllib” incluido directamente en el lenguaje u otras librerías escritas por terceros como es el caso de “urllib3” o “requests”. Todas son alternativas validas, sin embargo, un “desarrollador” debe intentar “no reinventar la rueda y verificar si existen soluciones para un problema e intentar aprovecharlas”. En este caso concreto, existen varias “librerías” que permiten utilizar una cuenta existente en <Twitter> y consumir todos los “servicios disponibles” en la <API Rest>.
/- Dos de las más populares son;
·- Tweepy (disponible en <github>);
-· <Python-Twitter> (también disponible vía <github>);

Ambas son “librerías” que cumplen bastante bien con su cometido, sin embargo en este articulo (nº5) nos “centraremos especialmente” en el uso de <Python-Twitter>.
\- Antes de continuar, es necesario crear una aplicación en <Twitter> que se encuentre vinculada con una cuenta valida, para ello hacéis "clic" en la siguiente imagen;

/- Después de crear su aplicación, deberéis tomar nota de los siguientes campos;
*- Consumer <API> (API KEY).
-* Consumer Secret (API Secret).
*- Access Token.
-* Access Token Secret.
Los cuatro valores saldrán en la pantalla de “gestión de aplicaciones” de <Twitter> y en el caso concreto de los campos “Access Token” y “Access Token Secret” se “crearán” <automáticamente> “pulsando” sobre el botón “create my token access”.
Después de tener los “valores” de <autenticación> necesarios correspondientes a la aplicación creada anteriormente, el siguiente paso consiste en utilizar la “librería” para consumir algunos de los servicios <REST> disponibles en la <API de Twitter>. Para ello, el primer paso consiste en “crear un objeto” del tipo “Api”, tal como se muestra a continuación.
Los “argumentos” recibidos por el <constructor de la clase Api> deben “coincidir” con los <valores de autenticación de la aplicación>. El nombre de cada uno de los “parámetros” define claramente cual debe ser su valor.
\- Si los valores de autenticación son correctos, la instancia de la clase Api contendrá todos los métodos necesarios para consumir los servicios Rest de Twitter. Para conocer detalladamente dichos métodos, os recomiendo echarle un vistazo a la clase ("clic" en la imagen inferior);

A partir de aquí, se pueden “crear” <scripts> que permitan “extraer información” de interés, como por ejemplo; sacar un listado de personas que siguen y no siguen a la cuenta vinculada a la aplicación.
Salu2
Un comentario en “OSINT; Hacking with Python (herramientas & Twitter) (parte, V)”