Funcion de extraccion de datos Youtube() en PHP version2
Hace un tiempo que me interese en los servicios de datos de YouTube y me decidà ha realizar una función que me ayudara a comprender los sistemas que utilizaba YouTube para organizarse y mantener una seguridad interna, y de aquello nació la función youtube(). Como ya comente en el anterior articulo, la fucnion youtube() se puede utilizar para extraer todos los datos de un vÃdeo en formad en forma de array de manera que podamos utilizarlo para lo que queramos.
Segun comenta Txabi en un comentario de la web parece que la duncion ha dejado de funcionar dando un error al no encontrar el parametro "t". Para solucionar esto solo tenéis que ir a la 6º linea donde pone $exp_info = '!&t=(.+)&sk=!U'; y quitar el sk= dejándolo asÃ, $exp_info = '!&t=(.+)&!U';. De esta manera encontrará el dato correctamente y volverá a funcionar.
Si a demás queremos recuperar la opción de ver la fecha en la que se ha subido el vÃdeo a youtube es mejor que utilicéis la nueva versión.
Para futuros problemas he decidido insertarle un parámetro de debug que permite diagnosticar diversos problemas para poder darles solución mas rápidamente. Para activar esta opción solo tenéis que poner true en la 2º variable y dará como resultado el diagnostico.
-
function youtube($id, $debug = false) {
-
$url = 'http://es.youtube.com/watch?v='.$id;
-
-
$exp_info = '!&t=(.+)&!U';
-
-
$exp_info = "!<meta name=\"title\" content=\"(.+)\">!U";
-
-
$exp_info = "!<meta name=\"description\" content=\"(.+)\">!U";
-
-
$exp_info = "!<span class=\"smallText\">(.+) de (.+) de (.+)</span>!U";
-
-
$exp_info = "<meta name=\"keywords\" content=\"(.+)\">";
-
-
$t = $t[1][0];
-
$titulo = $titulo[1][0];
-
$descripcion = $descripcion[1][0];
-
$fecha = $fecha[1][0].' de '.$fecha[2][0].' de '.$fecha[3][0];
-
$tags = $tags[1][0];
-
-
$salida["id"] = $id;
-
$salida["t"] = $t;
-
$salida["url"] = $url;
-
$salida["iurl"] = "http://img.youtube.com/vi/".$id."/2.jpg";
-
$salida["reproductor"] = "http://www.youtube.com/p.swf?video_id=".$id."&iurl=http://img.youtube.com/vi/".$id."/2.jpg&t=".$t;
-
$salida["video"] = "http://youtube.com/get_video.php?video_id=".$id."&t=".$t;
-
$salida["html"] = "<object width=\"425\" height=\"350\"><param name=\"movie\" value=\"http://www.youtube.com/v/".$id."\"></param><param name=\"wmode\" value=\"transparent\"></param><embed src=\"http://www.youtube.com/v/".$id."\" type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"425\" height=\"350\"></embed></object>";
-
$salida["title"] = $titulo;
-
$salida["descripcion"] = $descripcion;
-
$salida["fecha"] = $fecha;
-
$salida["tags"] = $tags;
-
-
if($debug){ //sistema de diagnostico
-
$salida['debug'] = $query;
-
$s['la url de lectura es'] = $url;
-
$s['lectura de video'] = ($query ) ? ’si' : 'no' ;
-
$s['t encontrado'] = ($t ) ? ’si' : 'no' ;
-
$s['titulo encontrado'] = ($titulo ) ? ’si' : 'no' ;
-
$s['descripcion encontrada'] = ($descripcion ) ? ’si' : 'no' ;
-
$s['fecha encontrada'] = ($fecha ) ? ’si' : 'no' ;
-
$s['tags encontrados'] = ($tags ) ? ’si' : 'no' ;
-
$s['contenido para debug'] = $salida;
-
return $s;
-
}
-
if($t == ""){ //Error de conexion
-
return false;
-
} else { // todo OK
-
return $salida;
-
}
-
}
mm interesante seria bueno que subieras un ejemplo y eso de $id en la funcion es la id del video de youtube cierto?
hola diabolik, el ejemplo seria el mismo que en el anterior POST, solo tienes que echarle un ojo.
Sobre la variable $id, si, es la ID de youtube, la puedes conseguir en cualquier vÃdeo desde el link que viene a la derecha. Si necesitas algo de información mas concreta solo tienes que escribir, un saludo.
!Gracias!
Importante, en el comando
$s['lectura de video'] = ($query ) ? ´si' : 'no' ;
Por alguna razón cuando se copia y se pega el caracter de COMILLA inicial del 'SI' se convierte en una tilde lo que ocasiona un error del compilador de php, recuerden cambiarla en caso que ocurra eso.
Cierto Lisandro.. algunas ' se convierten en ´ y algunos ” en "… es un problema del Wordpress que en esta versión no he podido solucionar…
Sera que puedes hacer el script, comprimirlo en un *.zip y subirlo por rapidshare¿? Me gustaria el de flash y el de PHP…
Lo siento "Anonimo" pero me parece que un Nick en internet es suficiente anónimo como para q pongas como datos de contacto "Anonimo" y como mail "email@falso.com". No ayudo a gente anónima..
[…] ejemplo y imitando a mi función de Youtube() he creado vimeo() que a partir del numero de ID que todos los vÃdeos tienen como prefijo en su […]
solo quiero subir un video al youtube por favor ayudenme
hola Danny, tendrÃas que especificar más… ¿quieres subir un video desde tu propia pagina web? ¿quieres subir un video a partir de PHP? ¿o solo quieres subir un video a youtube y no sabes utilizar Google?
Te respondo si la cuestión es la última.
Si solo quieres subir UN video tienes que hacerte una cuenta de usuario (busca en la parte de arriba, la primera de las 5 palabras que aparecer!) y una vez tengas la cuenta y entres en youtube arriba a la derecha pone en un botón SUBIR (por dios el único botón amarillo!).
Si era otra cosa lo que preguntabas x favor.. sácame de dudas.