jueves, 11 de julio de 2013

Primeros pasos MongoDB con Twitter. Parte 1



Para poder cargar Tweets de twitter y almacenarlos en nuestro MongoDB utilizaremos el script PHP “twitter101.php”.
El primer paso es crear un repositorio donde trabajaremos para las pruebas, en nuestro caso lo hemos creado en la ruta “c:\xampp\htdocs\MongoDb” donde está instalado XAMPP  y lo hemos llamado “MongoDB”



En este repositorio será donde guardemos los scripts PHP que queremos ejecutar, en este caso Twitter101, el código del script podemos verlo en la página (http://learnmongo.com/posts/mongodb-php-twitter-part-1/), desde esta página copiamos el código del script y generamos (en el mismo directorio anterior) el archivo php llamándolo “twitter101.php”;  para ello seguiremos los siguientes pasos:

·          Paso 1: desde la página http://learnmongo.com/posts/mongodb-php-twitter-part-1/ buscaremos el código “full example source” del scripts y lo marcaremos para copiarlo.

·        
Paso 2: abrimos el editor de texto y pegamos el código del script en un nuevo documento.



·         Paso 3: grabamos el fichero llamándolo “twitter101.php”.


·         Para poder hacer uso correcto del scripts hay que configurarlo con una cuenta de la que recoger los tweets, en nuestro caso usaremos la cuenta “mirojo84”.
·         Para ello modificaremos la línea “$screen_name="learnmongo"; por  “$screen_name=”mirojo84”


Por defecto, el script “twitter101.php” guarda en MongoDB todos aquellos tweets de la cuenta que le indiquemos, para realizar estas pruebas hemos cambiado la cuenta, por una ya existente “mirojo84” para poder recoger datos de nuestra cuenta de prueba.
NOTA: Habiendo comprobado que no hacer falta la password de la cuenta, ni ningún dato más de  la misma, se podría configurar cualquier cuenta y recoger datos de la misma. Habría que tener esto en cuenta para evitar vulnerar la intimidad de las cuentas o incumplir alguna de las normativas vigentes (LOPD, LSSI,…)

·         Paso 4: volvemos a grabar el fichero “twitter101.php” con los cambios realizados.

Una vez tenemos el scripts lo ejecutaremos desde una consola (ya que anteriormente hemos activado “curl”).

Para ello seguiremos los siguientes pasos (como ya hemos realizado en otras partes del documento), abrimos una ventana de comando:


En la ventana de comando navegaremos al directorio “c:\xampp\php” donde grabamos el script “twitter101.php” y ejecutaremos el php, para ello ejecutamos la siguiente secuencia de instrucciones:
·         Paso 1: En el sitio que estemos Tecleamos “cd\” con esto iremos al directorio raíz de nuestro equipo.
·         Paso 2: Luego teclearemos “cd\ xampp\php
·         Paso 3: Ejecutaremos el comando
php.exe –f c:\xampp\htdocs\MongoDB\twitter101.php"



El resultado que nos da es:


La base de datos donde se guardaran los tweets se ha creado directamente cuando hemos ejecutado el script, la parte donde se crea la bbdd es la siguiente.

Al ejecutar el script se debe haber creado una BBDD llamada “twitter” y una colección llamada “tweets” dentro de la cual tienen que estar los tweets generados y que hemos guardado.

Nota: igual que la cuenta desde donde recoger los tweets también podemos configurar el nombre de la base de datos, las colecciones y su localización en los directorios según nos convenga.
Comprobaremos si en realidad se ha creado la base de datos y si se han almacenado tweets.
·         Para ello abriremos una consola de comandos y navegaremos hasta el directorio “c:\mongodb\bin” (o sitio donde hayamos instalado MongoDB).
·         En ese directorio ejecutaremos “mongo” accediendo al prompt > que nos permite interactuar con Mongo.


Por defecto al instalar Mongo se crea una BBDD llamada “local” que estará con la etiqueta <empty>, es decir, vacía y si todo ha funcionado correctamente tendremos una segunda BBDD llamada “twitter.
Para ver que bases de datos tenemos ejecutamos la orden “show db


Efectivamente comprobamos que existen la base de datos “local” de test que está vacía y además una segunda llamada “twiter” en la que hay 0,2 GB de contenido.

domingo, 23 de junio de 2013

Alguien esta haciendo un tremendo blog sobre usted

Con esta apocalíptica frase me he levantado esta mañana, era un mensaje directo que recibía a través de Twitter, me ha hecho mucha gracia ya que el 99% de los mensajes que recibo en inglés son spam o, sencillamente, tonterías.


Pero a este le he seguido el juego y me he reído un buen rato.
He ido al link que tan amablemente me proporcionaba para poder ver quién es ese maldito que dice cosas de mi en un blog y… sorpresa¡¡¡ tengo que verificar mi password.

Interesante ¿Por qué iba a tener que hacer yo eso? La verdad es que la pantallita, está muy lograda pero la dirección no cuela XD

Al final he seguido con el engaño poniendo datos igual de falsos que ellos y, para no variar, la página no existe pero han hecho un redirect muy hábilmente al verdadero Twitter de modo que los más incautos no se darán cuenta de que acaban de regalar su cuenta de Twitter.


Os dejo el codigo fuente de ambas webs: Falso Twitter


martes, 18 de junio de 2013

CONFIGURACIÓN PARA CARGA DE TWEETS



Para poder usar el script PHP “twitter101.php” hay que tener activada la extensión “curl” que es la encargada de cargar contenidos web de otros sitios, dado que por defecto viene comentada en el fichero de configuración “php.ini”, tendremos que editar el fichero y quitar el comentario para que quede activado.
Para ello seguiremos los siguientes pasos:
·         Paso 1: Buscamos con el explorador de ficheros o una ventana de comando el directorio donde está instalado el PHP  en nuestro caso “C:\xampp\php”.



·         Paso 2: Editamos el fichero “php.ini” con un editor de texto plano que no añada caracteres especiales que lo hagan inservible. Una vez abierto buscamos la línea “;extension=php_curl.dll” y quitaremos el “;” dejando la línea “extension=php_curl.dll”




·         Paso 3: Grabamos el fichero con el mismo nombre.

Además para poder trabajar con php desde una línea de comandos tendremos que activar esta opción, para ello deberemos seguir los siguientes pasos:
·         Paso 1: Buscamos con el explorador de ficheros o una ventana de comando el directorio donde está instalado el PHP  en nuestro caso “C:\xampp\php”.




·         Paso 2: en el directorio “C:\xampp\php” hay dos librerías tendremos que copiar (hay que COPIAR y NO MOVER) en el directorio de sistema de Windows (en nuestro caso c:\windows\system32\) para poder trabajar con php desde consola, las librerías son:

o   Libeay32.dll
o   ssleay32.dll

·         Paso 3: una vez hagamos la copia procederemos a parar y arrancar el servidor de Apache con la consola de administración de XAMPP.

miércoles, 5 de junio de 2013

CONEXIÓN DE MONGODB Y PHP



Dado que la finalidad es conseguir almacenar en MongoDB los Tweets que deseemos, para ello usaremos un script en código PHP ya desarrollado y que podemos encontrar en la red (aunque lo modificaremos según nuestras necesidades) para ello necesitamos conectar PHP con MongoDB.
El driver de MongoDB se puede descargar desde (http://github.com/mongodb/mongo-php-driver/downloads)
Para que podamos integrar sin problemas PHP con nuestra versión de MongDB descargaremos la versión “mongo-1.1.4.zip — All of the Windows build for the 1.1.4 release -- updated #2


Una vez descargado el fichero, para la instalación de PHP seguiremos los siguientes pasos:
·         Paso 1: Del contenido del fichero comprimido, descomprimiremos el contenido del directorio “mongo-1.1.4-php5.2vc6“en el directorio de las librerías de PHP en nuestro servidor, en nuestro caso concreto es la carpeta “C:\xampp\php\ext” (dado que hemos usado XAMPP), para las instalaciones realizadas de forma manual o con otras herramientas tendremos que localizar el directorio donde se ha instalado PHP y en concreto la carpeta “ext” que este por debajo en el árbol de directorios.


Para que PHP detecte y use las librerías de MongoDB seguiremos los siguientes pasos:
·         Paso 1: Buscamos con el explorador de ficheros o una ventana de comando el directorio donde está instalado el PHP  en nuestro caso “C:\xampp\php”.

·         Paso 2: Editamos el fichero “php.ini” con un editor de texto plano que no añada caracteres especiales que lo hagan inservible. Una vez abierto el fichero buscaremos la sección “; Local Variables” (que suele estar al final del fichero) y aquí añadiremos la siguiente línea “extension=php_mongo.dll” que permitirá cargar las extensiones para conectar con MongoDB.



Una vez, grabemos los cambios procederemos a parar y arrancar el servidor de Apache para asegurarnos que se ha cargado el conector, para ello usaremos en nuestro caso la consola de administración de XAMPP.


Con esto ya tendríamos realizada la conexión PHP y MongoDb