Blog personal de Maximiliano Cáceres donde pública tips y noticias para developers
3
Ene
09

Tips: Parseando con PHP el html de Youtube

PHP:
  1. <?
  2.  
  3. class Youtube{
  4. function getVideosUser($user,$view){
  5.         //Carga la Web  de Youtube
  6.         $ch = curl_init();
  7.         $timeout = 5; // si llega hasta 0 tiempo agotado
  8.         switch($view){
  9.             case "mis_videos":
  10.                 $url='http://www.youtube.com/profile?user='.$user.'&view=videos';
  11.             break;
  12.             default:
  13.                     $url='http://www.youtube.com/profile?user='.$user.'&view=favorites';
  14.             break;
  15.         }
  16.         curl_setopt ($ch, CURLOPT_URL,$url);
  17.         curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  18.         curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  19.  
  20.         // Obtiene el HTML de Youtube
  21.         $file_contents = curl_exec($ch);
  22.         curl_close($ch);
  23.         $pagina=$file_contents;
  24. // Utilizo expresiones regulares, en las partes que se repite el código
  25. if(preg_match_all('!<img\s+title="([^"]*)"\s+src="([^"]*)"\s+class="vimg120"\s+qlicon="([^"&]+)"\s+alt="([^"]*)">!Usi', $pagina, $info, PREG_SET_ORDER)) {
  26.           foreach($info as $video) {
  27.               $videos[] = array(
  28.           'titulo' => $video[1],
  29.               'image' => $video[2],
  30.               'id' => $video[3]
  31.               );
  32.           }
  33.       }
  34.  
  35.     return $videos;
  36. }
  37.  
  38. }
  39.  
  40. $videos=new Youtube();
  41. echo "<pre>";
  42. //Favoritos
  43. print_r($videos->getVideosUser("bedomax","favoritos"));
  44. //Mis videos
  45. //print_r($videos->getVideosUser("bedomax","videos"));
  46. echo "</pre>";
  47.  
  48. ?>

Gracias que PHP hereda características de Perl, podemos utilizar expresiones regulares para manejar Strings. Aqui les dejo una clase que contiene un método que consulta los vídeos subidos y favoritos de un usuario de Youtube, ademas utilizo curl para obtener el html de Youtube y poder manipularlo con preg_match_all y obtengo en un array el resultado.

Array
(
[0] => Array
(
  [titulo] =>Titulo del Video
  [image] => http://i4.ytimg.com/vi/k3kRuJhIVIo/default.jpg
  [id] => k3kRuJhIVIo
)
)

Descargar el Código

3
Ene
09

Es increible: Emulador de Unix en Javascript

Increíblemente encontre un emulador de Unix escrito en Javascript  y que acepta alrededor de 30 comandos entre lo más conocidos mail, mkdir, cat, cp, tail, more, ln, grep   y Vi ,  casi me caigo de espalda al editar un archivo con Vi.

Realmente un trabajo tedioso, tenía que ser un Ruso el  que  hizo esto.

Ver el emulador de Unix, entra con cualquier root y pass

28
Dic
08

Inspiración: 45royale

Gran diseño de 45 Royale, es un estudio web  ubicado en Georgia Atlanta. Maneja unos buenos background en su sitio, los detalles son de lujo en el home y en interiores. También el slide donde muestra su  ultimo proyecto es bastante  bueno. Además maneja un blog donde divide de  forma atractiva los post de cada diseñador.

Visitar 45royale

24
Dic
08

Efecto Cssmania

Hoy revisé el Google Analytics de bedomax.com y me sorprendió gratamente el observar el números de visitas recibidas, había subido de 300 a 5000 visitas en 48 horas y casi el 85% había sido referencia de la galería Cssmania.

Cssmania es uno de los  showcase de sitios  más grande y actualizado del mundo. Su labor es reconocer sitios bien realizados con Css.

Link: Bedomax en Cssmania

6
Sep
08

Nuevo Blog: Libera Magazine

Al fin nace Libera !!!  un proyecto que estuvo dando vueltas en nuestras cabezas hace algún tiempo. Ya era hora que Ecuador cuente con un punto de encuentro para los aficionados que practican deportes extremos.  Actualmente el sitio está como blog, a medida que se vaya desarrollando iremos haciendo innovaciones, como por ejemplo un sistema de Cambalache , subir fotos y un mural . Mis agradecimientos a todos los editores que están apoyando el presente proyecto.

Visita Libera Magazine

6
Sep
08

ADODB: Conéctate a cualquier base de datos

Este class deberíamos  tenerlo siempre a mano. Antes cuando necesitaba migrar una  base de datos, que tiempos aquellos, tenía que modificar varias lineas de código. Con ADODB nos salvamos de ese horror , ahora podemos hacer nuestra aplicación portable y migrar a cualquier base de datos.

Tiene soporte para PostgreSQLMysql, Sql Server, Informix, SQLite, Firebird entre los más conocidos

Te falta lo mejor »