Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala ae galera, eu estou fazendo um portal onde é possível cada usuario postar vídeos, e eu estou criando um sisteminha para pegar as thumbs dos vídeos que os caras postam.
Eu percebi que os principais servidores de vídeos guardam as urls das thumbs dos vídeos em tags "link" ou "meta".
Por exemplo:
Link do Youtube:
http://www.youtube.com/watch?v=6fVE8kSM43I&ob=av3e
Tag com a thumb:
<meta property="og:image" content="http://i3.ytimg.com/vi/6fVE8kSM43I/hqdefault.jpg">
Link do Videolog:
http://videolog.tv/comediasonline/videos/705867
Tag com a thumb:
<link rel="image_src" href="http://thumb.videolog.tv/videos/2a/f6/g_705867_0001.jpg" />
Pegar do youtube é facil, porque o link das thumbs é um padrão. Mas do VideoLog não, ele partes do link da thumb são letras aleatórias.
Alguém sabe como posso pegar esse conteúdo?
Desde já, muito obrigado pela atenção.
Mas henrique, com isso eu vou localizar a thumb no código fonte, certo?
Mas como chegarei nesse código fonte?
eu criei uma "solução":
public function getThumb2(){
if(isset($this->url)){
if(!strpos($this->url, "http://")) $this->url = "http://".$this->url;
$content = @file_get_contents($this->url);
if(strpos($this->url, "youtube")){
$explodeObj = explode('<meta property="og:image" content="', $content);
$explodeObj = explode('">', $explodeObj[1]);
return $explodeObj[0];
}else if(strpos($this->url, "videolog")){
$explodeObj = explode('<link rel="image_src" href="', $content);
$explodeObj = explode('" />', $explodeObj[1]);
return $explodeObj[0];
}else if(strpos($this->url, "vimeo")){
$explodeObj = explode('<meta property="og:image" content="', $content);
$explodeObj = explode('" />', $explodeObj[1]);
return $explodeObj[0];
}
}
}
O problema é que quando eu faço várias requisições no Youtube por exemplo, ele começa a bloquear e pedir captcha na página. Irei testar com os outros servidores, se apenas o Youtube fizer isso, eu trato ele de uma forma diferente com uma estrutura:
http://i1.ytimg.com/vi/Código_do_vídeo/hqdefault.jpg
Tem alguma solução melhor?
Muito obrigado.
Caso seja somente videos do youtube, Acho que não é necessário pegar dessa forma....
Você pode só trocar a TAG do video ex:
quando um usuário enviar o video
h ttp://www.youtube.com/watch?v=6fVE8kSM43I&ob=av3e
note que os parametros são os mesmos
http://i3.ytimg.com/vi/6fVE8kSM43I/hqdefault.jpg"
Conhece expressões regulares?
Seria algo como: