28 may 2013

Búsqueda en fuentes abiertas con Python (Parte I)

Buenas a todos, hoy daremos inicio a la cadena "Búsqueda en fuentes abiertas con Python", en la que iré poco a poco mostrando ejemplos y scripts de como poder realizar búsquedas en fuentes abiertas, como ya hice en su día con la cadena La Biblia del Footprinting hace más de 2 años (como pasa el tiempo...), pero enfocándome en el desarrollo de aplicaciones con el lenguaje python, y que estoy seguro que nos será de gran utilidad para cierto desarrollo que se está llevando a cabo :)

En el primer post de la cadena vamos a ver como generar una nube de etiquetas con los términos más nombrados en un hashtag de Twitter, esto nos será de gran utilidad a la hora de analizar "temas calientes". Aprovechando que recientemente hemos realizado las Jornadas X1RedMasSegura, vamos a ver cuales han sido los temas más calientes en el hashtag "#X1RedMasSegura" :) Para ello me voy a basar en el script que publicó hace poco mi compañero de la ANTPJI, Simon Roses, en el curso que dimos en Reus (Tarragona) hace un par de semanas, y que he adaptado para este post. Utilizaré para ello la distribución BugTraq de nuestros paisanos y amigos del Bugtraq-Team.

Intentaré desgranaros paso a paso el proceso de instalación y ejecución, para facilitaros la tarea lo más posible :)

Para ello, primero vamos a instalar pip, una herramienta que nos permitirá instalar dependencias Python desde el repositorio de librerías PyPI y a continuación instalaremos una serie de dependencias que nos permitirán pintar la nube de etiquetas:

sudo apt-get install python-pip
 sudo pip install requests
Descargaremos PyTagCloud desde Github para instalarlo a continuación: https://github.com/atizo/pytagcloud

Lo instalaremos a través del siguiente comando:

sudo python setup.py install

sudo apt-get install python-pygame

 sudo pip install requests-transition

Una vez que tengáis las dependencias instaladas, ya estáis en disposición de ejecutar el script python. Os dejamos el código fuente para descarga AQUÍ. Como veis son muy pocas líneas de código.

Ahora simplemente lanzaremos nuestra aplicación NubeX1RedMasSegura.py:

python NubeX1RedMasSegura.py

Y si todo ha ido bien, se nos habrá creado en la carpeta donde tuviésemos el script, una bonita imagen con la nube de etiquetas del hashtag X1RedMasSegura:  

Como véis este script nos puede ser de bastante utilidad en investigaciones de distintos ámbitos y nos permite ver de un vistazo rápido cómo @_angelucho_ o @1gbdeinfo son dos de los usuarios más influyentes en el hashtag, y cómo términos como presentaciones, videos, jornadas y fotografias son los más nombrados recientemente (esto es debido a que el día que redacté el post, publicamos toda la información de las Jornadas en la web www.x1redmassegura.com y lo publicitamos en Twitter :)

¿Mejoras? Podríamos añadir por ejemplo un módulo que identificase términos buenos y malos a través de un diccionario de palabras, y los colorease en verde y rojo respectivamente. De esa manera resaltaríamos términos como "excelente" o "buenas", que salen en el hashtag y podríamos rápidamente identificar la crítica del hashtag y de lo que referencie (un evento, un grupo, etc.)

Eso es todo por hoy!

Saludos! #NosVemosEnLaRed

1 comentario: