elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Buscador Youtube, Tutorial PHP (Principiante)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Buscador Youtube, Tutorial PHP (Principiante)  (Leído 3,033 veces)
M4ti4x

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Buscador Youtube, Tutorial PHP (Principiante)
« en: 21 Septiembre 2007, 22:09 pm »

Hola como estan, bueno quise hacer este pequeño tuto para la gente que alguna ves se pregunto como se hacen esos buscadores de youtube que andan por ahi

Esta idea es aplicable con cualquier pagina, cualquier modo, solo es cosa de pensar, yo uso una clase que programe con esto lo haremos mas sencillo.

Ah y otra cosa esto no usa nada de la libreria CURL, etc.., puede funcionar en la gran mayoria de host

Empecemos, si no sabes nada de php… ahora sabras ...

Lo que realmente haremos sera leer un fichero externo que sera en este caso la web de youtube, asi de rapido.

Bueno usaremos una clase que hice que se llama “fichero.class.php”

Creamos un archivo “index.php”, requerimos la clase y con estos metodos sencillos de la clase obtendremos el codigo fuente de la pagina de youtube.

Código
  1. require "fichero.class.php";
  2. $busqueda = "simpson";
  3. $pagina = "1";
  4. //
  5. $url = "http://es.youtube.com/results?search_type=search_videos&search_query=";
  6. $url .= $busqueda;
  7. $url .= "&search_sort=relevance&search_category=0&search=Search&v=&page=";
  8. $url .= $pagina;
  9. //
  10. $obtener = new Fichero($url);
  11. $obtener->Abre("rb");
  12. $fuente = $obtener->Gets_cont("string-trim");
  13. $obtener->Cierra();
  14. //
  15. echo $fuente;

Alguien que ejecute este tan pequeño codigo, vera los resultados de la busqueda de youtube, solo que sin colores, estilos, etc.

Entonces ya nos damos cuenta de cual es la ideal fundamental aqui, una ves que tenemos el code fuente en un array podemos parcearlo a nuestro gusto.

Bien ahora tenemos que extraer las partes que nos interesan en este caso yo sacare, la id, la imagen, el titulo, la descripcion y la duracion, para eso usaremos el metodo buscar de la clase que Fichero que habiamos creado y basicamente funciona como la funcion preg_match_all:

Código
  1. $patron = '/'; // inicio
  2. $patron .= '\‘; // Obtenemos la id del video(s)
  3. $patron .= ‘\\*\/a\>‘; // Obtenemos Imagen del video
  4. $patron .= ‘.*?’; // No nos importa lo q sigue
  5. $patron .= ‘\(.*?)\*\/a\>‘; // obtenemos Titulo del video
  6. $patron .= ‘.*?’; // No nos importa lo q sigue
  7. $patron .= ‘\(.*?)\*\/span\>‘; // Obtenemos Descripcion del video
  8. $patron .= ‘.*?’; // No nos importa lo q sigue
  9. $patron .= ‘\(.*?)\*\/span\>‘; // Obtenemos duracion del video
  10. $patron .= ‘/’; // fin
  11. //
  12. $array = $obtener->Buscar($patron,$fuente); // enviamos el patron y el code fuente
  13.  
Esto nos devolvera una matriz con el siguiente contenido (busqueda[],ids[],imagenes[],titulos[],descripciones[],duraciones[])
entonces ahora lo que haremos sera asignar a un arreglo diferente cada campo que nos interese de la matriz:

Código
  1. $id = $array[1];
  2. $imagen = $array[2];
  3. $titulo = $array[3];
  4. $descripcion = $array[4];
  5. $duracion = $array[5];

Bien ahora como la cantidad de elementos de cada arreglo es la misma podemos contar cualquiera para luego recorrerlos:

Código
  1. $cantidad = count($id); // contamos cuantos videos se encontro

ahora pensando en futuro crearemos una pagina llamada vervideo.php que le enviaremos como parametro la id del video y lo que hará sera mostrarlo, creamos las iteraciones de la tabla con los datos q habiamos recogido:


Código
  1. echo "*table border="1">";
  2. for ($i=0; $i*$cantidad; $i++) {
  3. echo "*tr>*td>";
  4. echo "*a href=’vervideo.php?id=$id[$i]’>";
  5. echo "*img src=’$imagen[$i]’ border=’0′/>";
  6. echo "*/a>";
  7. echo "*/td>";
  8. //
  9. echo "*td>";
  10. echo "*p>*a href=’vervideo.php?id=$id[$i]’>";
  11. echo "*b>$titulo[$i]*/b>";
  12. echo "*/a>*/p>";
  13. echo "*p>$descripcion[$i]*/p>";
  14. echo "*p>Duracion : $duracion[$i]*/p>";
  15. echo "*/td>*/tr>";
  16. }
  17. echo "*/table>";

Esto mostrara los datos recogidos en una tabla y se mostrara en pantalla, bien ahora la paginacion extraeremos de igual manera que los datos anteriores con un patron:

Código
  1. // Ahora buscaremos las paginas
  2. $patron_paginas = '/\(.*?)\*\/a\>/’;
  3. $array_pag = $obtener->Buscar($patron_paginas,$fuente);

listo ahora lo mostramos con un simple foreach y validando que sean numeros:

Código
  1. foreach ($array_pag[1] as $val) {
  2. if (is_numeric($val)) {
  3. echo "$val | “;
  4. }
  5. }

Umm ahora nos faltaria el formulario y la validacion en el script si es q se ejecuto el formulario
Código
  1. *form action="" method="get">
  2. Buscar video :*br />
  3. *input type="text" name="busqueda" value="*?=$_GET[’busqueda’]?>" />
  4. *input type="submit" value="Buscar" />
  5. */form>

para saber que hemos enviado el fomulario podemos pregntarle al script:

Código
  1. if (isset($_GET['busqueda']))

bueno ahora sencillamente creamos o aumentamos si esta ya creado “vervideo.php” lo siguiente

Código
  1. *object width="425" height="350">
  2. *param name="movie" value="http://www.youtube.com/v/*?=$id?>">*/param>
  3. *param name="wmode" value="transparent">*/param>
  4. *embed src="http://www.youtube.com/v/*?=$id?>" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350">*/embed>
  5. */object>

practicamente el mismo codigo que nos brinda youtube solo que cambiamos el video dinamicamente.

Y bueno asi podemos hacer muchas cosas, este tutorial es para las personas que manejen o deseen manejar php, las utilidades que brinda, se puede hacer muchas cosas quizar cambiar el reproductor por uno personalizado, mostrar los omentarios, contenido en ajax, infinidad de cosas que queda de tarea a quien desea hacerlo.

Para los que no les gusta leer se los dejo echo xD:
http://rapidshare.com/files/57146908/buscayoutube_by_daxe.rar.html


« Última modificación: 21 Septiembre 2007, 23:38 pm por Ing_Amc » En línea

дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
*
Desconectado Desconectado

Mensajes: 5.110


Ver Perfil WWW
Re: Buscador Youtube, Tutorial PHP (Principiante)
« Respuesta #1 en: 21 Septiembre 2007, 23:39 pm »

Excelente, chincheta temporal.


« Última modificación: 7 Noviembre 2007, 14:23 pm por Ing_Amc » En línea

Maties 360

Desconectado Desconectado

Mensajes: 35


Ver Perfil
Re: Buscador Youtube, Tutorial PHP (Principiante)
« Respuesta #2 en: 22 Septiembre 2007, 20:22 pm »

Perdon edito.... que no me habia fijado que el fichero d ela classe estaba para descargar...^^

Excelente tutorial

Salu2

« Última modificación: 22 Septiembre 2007, 21:01 pm por Maties 360 » En línea

spaceboy90

Desconectado Desconectado

Mensajes: 38


Ver Perfil
Re: Buscador Youtube, Tutorial PHP (Principiante)
« Respuesta #3 en: 20 Octubre 2007, 19:06 pm »

muy bueno, pero.... una cosa.... no veo la paginacion  :-\ a ver si me ayudas.. :-(
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines