Jump to content


Photo

Sistema De Video


  • Faça o login para participar
20 replies to this topic

#16 rEd nEcK *

rEd nEcK *

    |̲̅<̲̅Θ̲̅>̲̅|

  • Usuários
  • 164 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 04/02/2007, 21:19

Boa noite !!

Seria tipo isso?

<?php

$key = isset($_GET["key"]) ? $_GET["key"] : "2fC99HjOExg";
$content = file_get_contents("http://www.youtube.com/watch?v=".$key);

preg_match("#\<h1 id\=\"video_title\"\>(.*?)\<\/h1\>#s", $content, $return);
list(, $title) = $return;

preg_match("#\<div id\=\"vidDescDiv\"\>(.*?)\<\/div\>#s", $content, $return );
list(, $desc) = $return;

print "<b>Title:</b> ".$title . "<br/><b>Desc:</b> " . $desc;


?>


Abraços
~/ ArrastoMemo.Com - Porque ganhar não é tudo, tem que humilhar o adversário /~

#17 Bruno Luiz

Bruno Luiz

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Não informado

Posted 04/04/2007, 15:09

Bom, eua cho que é questão de logica....
Quando colocamos o link la o scrip do orkut entra na pagina do video reconhece as tag onde ficam o titulo e descrição e inseri no perfil da pessoa juntamente com o player ... pagina de video do orkut é um resumo da pagina do oprkut porem eu acho que unica coisa em comum é a fonte do video por que o resto sao bases direfentes....

<?php

$key = isset($_GET["key"]) ? $_GET["key"] : "2fC99HjOExg";
$content = file_get_contents("http://www.youtube.com/watch?v=".$key);

preg_match("#\<h1 id\=\"video_title\"\>(.*?)\<\/h1\>#s", $content, $return);
list(, $title) = $return;

preg_match("#\<div id\=\"vidDescDiv\"\>(.*?)\<\/div\>#s", $content, $return );
list(, $desc) = $return;

print "<b>Title:</b> ".$title . "<br/><b>Desc:</b> " . $desc;


?>


scrip parece logico, porem faltou algo que define o codigo do player, a menos que nele tenha a função que capture o player tmabem e nao so a fonte do video

#18 Dudu

Dudu

    Viva la vida

  • Usuários
  • 1437 posts
  • Sexo:Masculino
  • Localidade:Uberlândia - MG
  • Interesses:PHP

Posted 05/04/2007, 22:14

Os XML do Youtube estão bugados...
Não consigo ler...

Até mais ^_^

Edição feita por: _Dudu_1533, 05/04/2007, 22:18.

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Moderador


Twitter: HostCheap


#19 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 05/04/2007, 22:47

Bem quanto ao Palyer não seje por isso é so colocar a Tag do Player e trocar onde vai o ID do video simples ...
<?php

$key = isset($_GET["key"]) ? $_GET["key"] : "2fC99HjOExg";
$content = file_get_contents("http://www.youtube.com/watch?v=".$key);

preg_match("#\<h1 id\=\"video_title\"\>(.*?)\<\/h1\>#s", $content, $return);
list(, $title) = $return;

preg_match("#\<div id\=\"vidDescDiv\"\>(.*?)\<\/div\>#s", $content, $return );
list(, $desc) = $return;

print "<b>Title:</b> ".$title . "<br/><b>Desc:</b> " . $desc . "<br>";
print '<object width="425" height="350">
<param name="movie" value="http://www.youtube.com/v/' . $key . '"></param>
<param name="wmode" value="transparent"></param>
<embed src="http://www.youtube.com/v/' . $key . '" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed>
</object>';

?>

-------------------------------

Quanto ao XML eu não achei de extranho lá ....
So tem uma resalva aparentemente para vc poder puxar os XMLs vc deve pedir um ID para acessar ....

Referencias:
http://www.youtube.com/dev_docs

#20 rEd nEcK *

rEd nEcK *

    |̲̅<̲̅Θ̲̅>̲̅|

  • Usuários
  • 164 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 12/04/2007, 16:20

Boa tarde pessoal !

Estive estudando um pouquinho, e só agora fui ver que o Youtube libera as informações, então, fiz uma classe para pegar essas informações.

Quem puder melhorar, sinta-se avontade !!!

<?php

class YTVideoDetails{

private $dom = "";
private $xml = '';

function YTVideoDetails( $id_dev, $id_video ){
$this->dom = new DOMDocument("1.0", "ISO-8859-1");
$this->xml = file_get_contents("http://www.youtube.com/api2_rest?method=youtube.videos.get_details&dev_id=".$id_dev."&video_id=".$id_video);
$this->xml = str_replace("&","&amp;",$this->xml);
$this->dom->preserveWhiteSpace = false;
$this->dom->loadXML( $this->xml );
}

private function getNodeValue( $element ){
return @$this->dom->getElementsByTagName( $element )->item( 0 )->nodeValue;
}

private function getAllChildsValue( $element ){
$values = Array();
$nodes = @$this->dom->getElementsByTagName( $element );

foreach( $nodes as $node ) $values[] = $node->nodeValue;

return $values;
}

private function getAllComments( $element ){
$values = Array();
$nodes = @$this->dom->getElementsByTagName( $element );

for($i=0; $i<$nodes->length; $i++){
$values[$i]["author"] = $nodes->item($i)->getElementsByTagName("author")->item(0)->nodeValue;
$values[$i]["text"] = $nodes->item($i)->getElementsByTagName("text")->item(0)->nodeValue;
$values[$i]["time"] = $nodes->item($i)->getElementsByTagName("time")->item(0)->nodeValue;
}

return $values;
}

public function getDetails(){
$details = Array();

$details["author"] = $this->getNodeValue("author");
$details["title"] = $this->getNodeValue("title");
$details["rating_avg"] = $this->getNodeValue("rating_avg");
$details["rating_count"] = $this->getNodeValue("rating_count");
$details["tags"] = $this->getNodeValue("tags");
$details["description"] = $this->getNodeValue("description");
$details["update_time"] = $this->getNodeValue("update_time");
$details["view_count"] = $this->getNodeValue("view_count");
$details["comment_count"] = $this->getNodeValue("comment_count");
$details["upload_time"] = $this->getNodeValue("upload_time");
$details["length_seconds"] = $this->getNodeValue("length_seconds");
$details["recording_date"] = $this->getNodeValue("recording_date");
$details["recording_location"] = $this->getNodeValue("recording_location");
$details["recording_country"] = $this->getNodeValue("recording_country");

$details["comments"] = $this->getAllComments("comment");
$details["channels"] = $this->getAllChildsValue("channel");

$details["thumbnail_url"] = $this->getNodeValue("thumbnail_url");
$details["embed_status"] = $this->getNodeValue("embed_status");

return $details;
}
}

$d = new YTVideoDetails( /* youtube developer id */ 1, /* youtube video id */ "2fC99HjOExg" );
print_r( $d->getDetails() );

?>


O unico problema, é que para poder pegar essas informações, precisa ter um usúario com perfil de developer no Youtube, eu tentei criar e não consegui....

Esse script funcionará apenas, se for adicionado um Dev_ID valido... Mas vale a pena dar uma olhadinha... rsrsrs

Duvidas, é só perguntar !
Abraços,
Luiz Souza
~/ ArrastoMemo.Com - Porque ganhar não é tudo, tem que humilhar o adversário /~

#21 gennf

gennf

    A Solução está ai...

  • Usuários
  • 645 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG

Posted 16/06/2007, 23:18

Olá pessoal!!!

Testei a class acima e ela está funcionando perfeitamente em meu PC uso PHP 5.*.* mas quando enviei para o servidor onde minhas paginas ficam hospedadas começou a dar o seguinte erro:

Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/b20305/public_html/batepapobr/teste_youtube2.php on line 9

Será que alguem pode me dizer o porque desse erro?

A linha que está dadno erro é a:
private $dom = "";
Aguardo a ajuda de alguem.

Até mais... ;)
Portal BatePapoBrasil
URL: www.batepapobrasil.com

----------------------------
Site desenvolvidos
URL:
VitrineABC :: Alugue Litoral :: OrtodontiaLago




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq