PHP ile Youtube'dan video bilgilerini çekme işlemini çok basit kodlarla anlatacağım.
Öncelikle aranacak kelimemizi ve bulunan sayfalarda kaçıncısı olduğunu değişkene aktarıyoruz.
$kelime ="Inception Trailer";
$sayfa ="1";
Daha sonra file_get_contents ile Youtube'dan verimizi çekiyoruz. Ardından preg_match_all ile belirtiğimiz html kodunu $baslik dizisine aktarıyoruz. Ayrıntılı bilgi için Php.net sitesinden preg_match_all fonksiyonuna bakabilirsiniz. Daha sonra explode fonksiyonu ile $baslik dizimizi tırnak işareti(") olan kısımları ayıklıyoruz ve bunları $yaz dizisine aktarıyoruz.
$veri = file_get_contents("http://www.youtube.com/results?search_query=$kelime&page=$sayfa");
preg_match_all('@<h3 class=\"yt-lockup-title\">(.*?)</h3>@si',$veri,$baslik);
$i=2;
while($i<=21)
{
$yaz =explode("\"",$baslik[1][$i]);
$ytad= $yaz[5];
$ytid =substr($yaz[9],9,strlen($yaz[9]));
// Burada video verilerinizi listeleyebilir isterseniz veri tabanına kayıt edebilirsiniz.
$i++;
}
Kodda gördüğümüz $ytad ile videonun adını, $ytid ile videonun id'sini alıyoruz. Id'sini aldıktan sonra yapmamız gereken tek şey listelemek veya veri tabanına kaydedip daha sonra listelemek.
Örnek Listeleme Şekilleri
Youtube video resmini almak için:
<img src="http://img.youtube.com/vi/<? echo $ytid; ?>/0.jpg" width="200" height="200" />
JW Player'da oynatmak için:
<embed
type='application/x-shockwave-flash'
id='single2'
name='single2'
src='http://player.longtailvideo.com/player.swf'
width='470'
height='24'
bgcolor='undefined'
allowscriptaccess='always'
allowfullscreen='true'
wmode='transparent'
flashvars='file=http://www.youtube.com/watch?v=<? echo $ytid; ?>' />
Height yani yükseliği 24 px olarak ayarlandığı için mp3 player havası katar. Dilerseniz 360 yaparak normal bir video oynatıcı yapabilirsiniz.
Youtube oynatıcı ile iframe'de göstermek için:
<iframe width="420" height="315" src="//www.youtube.com/embed/<? echo $ytid; ?>" frameborder="0" allowfullscreen></iframe>
Videonun linkini göstermek için:
<a href="http://www.youtube.com/watch?v=<? echo $ytid; ?>"><? echo $ytad; ?></a>
Öncelikle aranacak kelimemizi ve bulunan sayfalarda kaçıncısı olduğunu değişkene aktarıyoruz.
$kelime ="Inception Trailer";
$sayfa ="1";
Daha sonra file_get_contents ile Youtube'dan verimizi çekiyoruz. Ardından preg_match_all ile belirtiğimiz html kodunu $baslik dizisine aktarıyoruz. Ayrıntılı bilgi için Php.net sitesinden preg_match_all fonksiyonuna bakabilirsiniz. Daha sonra explode fonksiyonu ile $baslik dizimizi tırnak işareti(") olan kısımları ayıklıyoruz ve bunları $yaz dizisine aktarıyoruz.
$veri = file_get_contents("http://www.youtube.com/results?search_query=$kelime&page=$sayfa");
preg_match_all('@<h3 class=\"yt-lockup-title\">(.*?)</h3>@si',$veri,$baslik);
$i=2;
while($i<=21)
{
$yaz =explode("\"",$baslik[1][$i]);
$ytad= $yaz[5];
$ytid =substr($yaz[9],9,strlen($yaz[9]));
// Burada video verilerinizi listeleyebilir isterseniz veri tabanına kayıt edebilirsiniz.
$i++;
}
Kodda gördüğümüz $ytad ile videonun adını, $ytid ile videonun id'sini alıyoruz. Id'sini aldıktan sonra yapmamız gereken tek şey listelemek veya veri tabanına kaydedip daha sonra listelemek.
Örnek Listeleme Şekilleri
Youtube video resmini almak için:
<img src="http://img.youtube.com/vi/<? echo $ytid; ?>/0.jpg" width="200" height="200" />
JW Player'da oynatmak için:
<embed
type='application/x-shockwave-flash'
id='single2'
name='single2'
src='http://player.longtailvideo.com/player.swf'
width='470'
height='24'
bgcolor='undefined'
allowscriptaccess='always'
allowfullscreen='true'
wmode='transparent'
flashvars='file=http://www.youtube.com/watch?v=<? echo $ytid; ?>' />
Height yani yükseliği 24 px olarak ayarlandığı için mp3 player havası katar. Dilerseniz 360 yaparak normal bir video oynatıcı yapabilirsiniz.
Youtube oynatıcı ile iframe'de göstermek için:
<iframe width="420" height="315" src="//www.youtube.com/embed/<? echo $ytid; ?>" frameborder="0" allowfullscreen></iframe>
Videonun linkini göstermek için:
<a href="http://www.youtube.com/watch?v=<? echo $ytid; ?>"><? echo $ytad; ?></a>
kardeşim bi kanaldan videoları nasıl çekebiliriz ?
YanıtlaSil