jueves, 31 de enero de 2013

Youtube Search API with PHP

In this post we will see how to use the Youtube API to use on our website. In this way we will have a video search engine online.

demo
: http://app.opnway.com/documental/




En este post veremos como utilizar la API de Youtube para utilizarla en nuestra página web. De esta forma tendremos un buscador de videos online.

Demo: 
http://app.opnway.com/documental/



<?php
    if (isset($_POST['q']))
     {
     
      if (!isset($_POST['q']) || empty($_POST['q'])) {
        die ('ERROR: Please enter one or more search keywords');
      } else {
        $q = $_POST['q']." documental";
        $q = ereg_replace('[[:space:]]+', '/', trim($q));
      }
       if (!isset($_POST['i']) || empty($_POST['i'])) {
        $i = 25;
      } else {
        $i = $_POST['i'];
      }
     
      $feedURL = "http://gdata.youtube.com/feeds/api/videos/-/{$q}?orderby=relevance&max-results=6";
      $sxml = simplexml_load_file($feedURL);
      $counts = $sxml->children('http://a9.com/-/spec/opensearchrss/1.0/');
      $total = $counts->totalResults;
      $startOffset = $counts->startIndex;
      $endOffset = ($startOffset-1) + $counts->itemsPerPage;      

      foreach ($sxml->entry as $entry) {
      
        $media = $entry->children('http://search.yahoo.com/mrss/');
        $attrs = $media->group->player->attributes();
        $watch = $attrs['url'];
        $attrs = $media->group->thumbnail[0]->attributes();
        $thumbnail = $attrs['url'];
        $yt = $media->children('http://gdata.youtube.com/schemas/2007');
        $attrs = $yt->duration->attributes();
        $length = $attrs['seconds'];
        $title =
$media->group->title;        

echo "<div style='width: 200px; float: left; margin: 5px;'><b>".substr($media->group->title, 0, 32)."</b>";
        echo "<a href='".$watch."'><img width='100%' src=\"$thumbnail\" alt=\"$title\"/></a>";
    $seg_ini =  $length;
    $horas = floor($seg_ini/3600);
    $minutos = floor(($seg_ini-($horas*3600))/60);
    $segundos = $seg_ini-($horas*3600)-($minutos*60);
echo "<class style='font-style:italic;'>".$horas.'h:'.$minutos.'m:'.$segundos.'s</class>';
    echo "</div>";
  

      }
    }
    ?>

martes, 29 de enero de 2013

Extract title and duration from youtube video with API

Hi
In this script we will see how to use the Youtube API to extract the title, the image and the duration of a video and then save this data in our database, to add a more comfortable video to our website.

Hola
en este script veremos como utilizar la API de Youtube para extraer el titulo, la imagen y la duración de un video para luego guardar estos datos en nuestra base de datos, para añadir de una forma más cómoda videos a nuestras páginas web.




Where $idvideo will $_GET['v'] form url youtube video
Donde $idvideo será la variable $_GET['v'] de la dirección de un video de Youtube


Variables that take the data are: $ title, $ time and $ image
Las variables que llevarán los datos son: $title, $tiempo y $imagen


$url = "http://gdata.youtube.com/feeds/api/videos/".$idvideo;
$doc = new DOMDocument;
$doc->load($url);
$title = $doc->getElementsByTagName("title")->item(0)->nodeValue;
$durations = $doc->getElementsByTagNameNS("*","duration");

if($durations){
$ret["duration"] = $durations->item(0)->getAttribute('seconds');
$seg_ini =  $ret['duration'];

$horas = floor($seg_ini/3600);
$minutos = floor(($seg_ini-($horas*3600))/60);
$segundos = $seg_ini-($horas*3600)-($minutos*60);
$tiempo = $horas.'h:'.$minutos.'m:'.$segundos.'s';



$imagen = 'http://img.youtube.com/vi/'.$idvideo.'/0.jpg';

Extraer información con API Wikipedia con PHP

En este código podremos ver como extraer la información desde la API de Wikipedia mediante PHP y Curl , concretamente exportaremos uno de los párrafos de un artículo concreto.

En la $url podemos ver que consta de varios parámetros, el parámetro page es la página de Albert Einstein, este dato lo obtenemos de la dirección del artículo que nos interesa:
es.wikipedia.org/wiki/Albert_Einstein


In this code we can see how to extract information from Wikipedia API using PHP and Curl, specifically will export one paragraph of a particular article.

In the $ url can see which consists of several parameters, the parameter page is the page of Albert Einstein, this data we get from the direction of the article we are interested in:
es.wikipedia.org / wiki / Albert_Einstein


<?
$url='http://es.wikipedia.org/w/api.php?action=parse&page=Albert_Einstein&format=json&prop=text&section=1&rvsection=2rvparse&rvprop=content';
$ch = curl_init($url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_USERAGENT, "TestScript");
$c = curl_exec($ch);
$json = json_decode($c);
$content = $json->{'parse'}->{'text'}->{'*'};
$final = strip_tags($matches[0], "<p>, <br/>");
echo nl2br($final); 
?>

Otra Opción:
<?
$url = 'http://es.wikipedia.org/w/api.php?action=parse&page=Albert_Einstein&format=json&prop=text&section=1&rvsection=2rvparse&rvprop=content';
$ch = curl_init($url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_USERAGENT, "TestScript");
$c = curl_exec($ch);
$json = json_decode($c);
$content = $json->{'parse'}->{'text'}->{'*'};
$pattern = '#<p>(.*)</p>#Us';
if(preg_match($pattern, $content, $matches))
{
print strip_tags($matches[1]);
}
?>



En este caso, nos mostrará el párrafo del nacimiento de Albert Einstein.

Bienvenidos a mi Blog personal

Bienvenidos a todos a mi blog personal.
Este blog será dedicado a todo lo referente a la progrmación web y a trabajos que voy haciendo, espero que os guste!

Un saludo.