Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

Youtube video çekme

maxcilopez

0
Onaylı Üye
Üye
Katılım
27 Ekim 2006
Mesajlar
545
Açılan Konu
114
Tepki puanı
0
Arkadaşlar birine kod yazdırdım
ama yazılımda tag ı giriyorum vede kaç tane olduğunu giriyorum eğer 20 den az girersem sayıyı ne girdiysem o kadar Çıkarıyo ama
eğer 20 den fazla girdi isem sayıyı en fazla 20 çıkarıyo Çünki xlm dosyasında en fazla 20 Çıkarıyo
ama aradım kod böyle yazılırsa ne kadar yazarsan okadar Çıkıyo

http://www.youtube.com/api2_rest?me..._id=X79cUulNyWo&tag=japan maiden&per_page=100

eğer böyle yazılırsa max 20 Çıkıyo yani bu kodun sonunda %20maiden&per_page=100 kodu yok
http://www.youtube.com/api2_rest?method=youtube.videos.list_by_tag&dev_id=X79cUulNyWo&tag=japan

Şimdi benim yazılımdaki php koduda şöyle

Kod:
	function yt_tag($dev_id, $tag, $howmany){

		$feed = "http://www.youtube.com/api2_rest?method=youtube.videos.list_by_tag&dev_id=$dev_id&tag=$tag";


		$xml = $this->get_feed($feed);	
         
		$this->yt_results($xml, $howmany);

Birde googleden bunu buldum
Pek ingilizce olmadığı için çözemedim
aslınca cevab burada ama beceremedim
Kod:
 youtube.videos.list_by_tag (API Function Reference)
Description

Lists all videos that have the specified tag
Parameters

method: youtube.videos.list_by_tag (only needed as an explicit parameter for REST calls)
dev_id: Your developer ID. Please request one if you don't already have one.
tag: The tag to search for
(optional) page: The "page number" of results you want to retrieve (e.g. 1, 2, 3)
(optional) per_page: The number of results you want to retrieve per page (default 20, maximum 100)
Example Call
http://www.youtube.com/api2_rest?method=youtube.videos.list_by_tag&dev_id=dev_id&tag=tag&page=page&per_page=per_page
 

deja_wu

0
Onaylı Üye
Üye
Katılım
26 Şubat 2005
Mesajlar
142
Açılan Konu
7
Tepki puanı
0
Kod:
<?php
CLASS YouTube {
	var $_Results;
	var $_ResultCount;
	function GetSearchResults($search_query, $page) {
		$search_query = str_replace(" ", "+", $search_query);
		$results = file("http://youtube.com/results?search_type=search_videos&search_query=".$search_query."&search_sort=&search_category=0&page=".$page);
		$results = implode("", $results);
        $results = iconv("UTF-8","ISO-8859-9",$results);
		preg_match_all('/\<a href=\"\/watch\?v=(.*?)\" (.*?)\>\<img src=\"(.*?)\" border=\"0\" class=\"vimg120\" \/\>\<\/a\>(.*?)<div class="vtitle">(.*?)\<a href=\"\/watch\?v=(.*?)\"\>(.*?)\<\/a\>\<br\/\>(.*?)\<div class=\"vdesc\"\>(.*?)\<span id=\"(.*?)\"\>(.*?)\<\/span\>/s', $results, $matches);
		$this->_Results = $matches;
		preg_match_all('/\<div (.*?)\>Results (.*?)-(.*?) of (.*?)\<\/div\>/s', $results, $matches);
		$this->_ResultCount = $matches[4][0];
	}
	function ResultCount() {
		return $this->_ResultCount;
	}
	function Results() {
		return $this->_Results;
	}
}
$yt = new YouTube;

$columns = "2"; $rows = "20";
$vpp = $columns * $rows;

if (!$_GET[page]) { $Pages = 1; }
else { $Pages = $_GET[page]; }
$Search = $_GET[goster];


$yt->GetSearchResults($Search, $Pages);
$TotalPages = $yt->ResultCount() / $vpp;
$Results = $yt->Results();

echo '<table width="100%" border="0" cellspacing="5" cellpadding="5">';
$i = 0;
for($r=0; $r<$rows; $r++) {
	if ($Results[1][$i]) {
		echo '<tr>';
		for($c=0; $c<$columns; $c++) {
			echo '<td valign="top" width="750">';
			if ($Results[1][$i]) { echo '<a href="izle.php?video='.$Results[1][$i].'"><img src="'.$Results[3][$i].'" border="0" width="130" height="97" align="left" hspace="10" /> '.$Results[7][$i].'<br /></a>'.$Results[11][$i]; }
			echo '</td>';
			$i++;
		}
		echo '</tr>';
	}
}
echo '</table> <div align="right" style="padding-right: 25px">';


$Next = $Pages + 1;
$Previous = $Pages - 1;
if ($Pages != 1) { echo '  <a href="vidyolar.php?goster='.$Search.'&page='.$Previous.'">Geri</a>   '; }
$page = $Pages;
$ipage = 5;
if ($ipage > 1) {
	for($z=-4; $z<$ipage; $z++) {
		$tmp = $page+$z;
		if ($tmp > 0 && $tmp <= $TotalPages) {
			if ($tmp == $page)
				echo '  <table cellpadding="0" cellspacing="0" style="display:inline;"><tr><td style="text-align:center;color:#333;background-color:#FFF;border:1px solid #999;cursor:pointer;cursor:hand;width:20px;" class="pagerCurrent" onClick="location.href=\'videoara.php?search='.$Search.'&page='.$tmp.'\'" >'.$tmp.'</td></tr></table> ';
			else
				echo '  <table cellpadding="0" cellspacing="0" style="display:inline;"><tr><td style="text-align:center;color:#03C;background-color:#CCC;border:1px solid #999;cursor:pointer;cursor:hand;width:20px;" class="pagerNotCurrent" onClick="location.href=\'videoara.php?search='.$Search.'&page='.$tmp.'\'" >'.$tmp.'</td></tr></table> ';
		}
	}
}
if ($Pages < $TotalPages) { echo '  <a href="videolar.php?goster='.$Search.'&page='.$Next.'">İleri</a>   </div> '; }
?>

http://www.jabjuba.com/video.php

Umarım İşini Görür.
 
M

maiL

Misafir
deja_wu verdiğin kodu direk video.php yapıp upload ettim. 9. satırda bi hata veriyor.
$results = iconv("UTF-8","ISO-8859-9",$results);

Fatal error: Call to undefined function: iconv() in /usr/home/xxx/public_html/video.php on line 9
 

deja_wu

0
Onaylı Üye
Üye
Katılım
26 Şubat 2005
Mesajlar
142
Açılan Konu
7
Tepki puanı
0
deja_wu verdiğin kodu direk video.php yapıp upload ettim. 9. satırda bi hata veriyor.
$results = iconv("UTF-8","ISO-8859-9",$results);

Fatal error: Call to undefined function: iconv() in /usr/home/xxx/public_html/video.php on line 9

Form yolu ile bilgiyi post etmediğin için hata vermesi doğal

Kod:
<form action="video.php">
<p>Arama <input name="goster" value="aranacak kelime" onblur="if(this.value=='') this.value='ara...';" onfocus="if(this.value=='ara...') this.value='';" type="text"> <input value="Ara" type="submit"></p></form>
 

Angelo

0
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
Konum
AZ
Hasta POST'dan değil, iconv kütüphanesinin kurulu olmamasından dolayı yaşanıyor. Onu yükle ya da sil o satırı. Birinci kodda da referans fonksiyon kodları mevcut değil ama verilen cevaptan $feed içindeki kaynağa "page" sayfa numarası ve per_page "sayfa başına listeleme" direktiflerini o URL'ye vermen lazım gibi.
 

jackal

0
Onaylı Üye
Üye
Katılım
2 Ocak 2006
Mesajlar
1,899
Açılan Konu
177
Tepki puanı
1
bırde şunu nbı scripti paylaşılsa :p
 

Holokost

0
Onaylı Üye
Üye
Katılım
10 Ekim 2006
Mesajlar
1,613
Açılan Konu
84
Tepki puanı
0
Konum
Ankara
$feed = "http://www.youtube.com/api2_rest?method=youtube.videos.list_by_tag&dev_id=$dev_id&tag=$tag&per_page=100";

yapınca 100 cıkartıyor :)
 

kostak

0
Yasakli Uye
Katılım
23 Nisan 2007
Mesajlar
409
Açılan Konu
37
Tepki puanı
1
Konum
Gemlik
Kod:
<?php
CLASS YouTube {
	var $_Results;
	var $_ResultCount;
	function GetSearchResults($search_query, $page) {
		$search_query = str_replace(" ", "+", $search_query);
		$results = file("http://youtube.com/results?search_type=search_videos&search_query=".$search_query."&search_sort=&search_category=0&page=".$page);
		$results = implode("", $results);
        $results = iconv("UTF-8","ISO-8859-9",$results);
		preg_match_all('/\<a href=\"\/watch\?v=(.*?)\" (.*?)\>\<img src=\"(.*?)\" border=\"0\" class=\"vimg120\" \/\>\<\/a\>(.*?)<div class="vtitle">(.*?)\<a href=\"\/watch\?v=(.*?)\"\>(.*?)\<\/a\>\<br\/\>(.*?)\<div class=\"vdesc\"\>(.*?)\<span id=\"(.*?)\"\>(.*?)\<\/span\>/s', $results, $matches);
		$this->_Results = $matches;
		preg_match_all('/\<div (.*?)\>Results (.*?)-(.*?) of (.*?)\<\/div\>/s', $results, $matches);
		$this->_ResultCount = $matches[4][0];
	}
	function ResultCount() {
		return $this->_ResultCount;
	}
	function Results() {
		return $this->_Results;
	}
}
$yt = new YouTube;

$columns = "2"; $rows = "20";
$vpp = $columns * $rows;

if (!$_GET[page]) { $Pages = 1; }
else { $Pages = $_GET[page]; }
$Search = $_GET[goster];


$yt->GetSearchResults($Search, $Pages);
$TotalPages = $yt->ResultCount() / $vpp;
$Results = $yt->Results();

echo '<table width="100%" border="0" cellspacing="5" cellpadding="5">';
$i = 0;
for($r=0; $r<$rows; $r++) {
	if ($Results[1][$i]) {
		echo '<tr>';
		for($c=0; $c<$columns; $c++) {
			echo '<td valign="top" width="750">';
			if ($Results[1][$i]) { echo '<a href="izle.php?video='.$Results[1][$i].'"><img src="'.$Results[3][$i].'" border="0" width="130" height="97" align="left" hspace="10" /> '.$Results[7][$i].'<br /></a>'.$Results[11][$i]; }
			echo '</td>';
			$i++;
		}
		echo '</tr>';
	}
}
echo '</table> <div align="right" style="padding-right: 25px">';


$Next = $Pages + 1;
$Previous = $Pages - 1;
if ($Pages != 1) { echo '  <a href="vidyolar.php?goster='.$Search.'&page='.$Previous.'">Geri</a>   '; }
$page = $Pages;
$ipage = 5;
if ($ipage > 1) {
	for($z=-4; $z<$ipage; $z++) {
		$tmp = $page+$z;
		if ($tmp > 0 && $tmp <= $TotalPages) {
			if ($tmp == $page)
				echo '  <table cellpadding="0" cellspacing="0" style="display:inline;"><tr><td style="text-align:center;color:#333;background-color:#FFF;border:1px solid #999;cursor:pointer;cursor:hand;width:20px;" class="pagerCurrent" onClick="location.href=\'videoara.php?search='.$Search.'&page='.$tmp.'\'" >'.$tmp.'</td></tr></table> ';
			else
				echo '  <table cellpadding="0" cellspacing="0" style="display:inline;"><tr><td style="text-align:center;color:#03C;background-color:#CCC;border:1px solid #999;cursor:pointer;cursor:hand;width:20px;" class="pagerNotCurrent" onClick="location.href=\'videoara.php?search='.$Search.'&page='.$tmp.'\'" >'.$tmp.'</td></tr></table> ';
		}
	}
}
if ($Pages < $TotalPages) { echo '  <a href="videolar.php?goster='.$Search.'&page='.$Next.'">İleri</a>   </div> '; }
?>

http://www.jabjuba.com/video.php

Umarım İşini Görür.

çalışmıyor sorunmu var dosyada
 

deja_wu

0
Onaylı Üye
Üye
Katılım
26 Şubat 2005
Mesajlar
142
Açılan Konu
7
Tepki puanı
0
çalışıyordu fakat youtubenin bağzı tag ları değiştirmesinden sonra çalışmamaya başladı :) şimdi çalışmıyor boş zamanımda yenisini veririm.

bir çoğu kişinin yapmış olduğu video botlarda çalışmıyordur şu anda tahminimce.
 

kostak

0
Yasakli Uye
Katılım
23 Nisan 2007
Mesajlar
409
Açılan Konu
37
Tepki puanı
1
Konum
Gemlik
dja_wu gel iyilik yap bir el at kardes yeni domain aldım forumdan 2. gün site gitii zor durumdayım hangi taglar değişti

aynı scripten elimde var arama çalışmıyor izle.php çalışıor
 

ankara

0
Onaylı Üye
Üye
Katılım
27 Ekim 2006
Mesajlar
397
Açılan Konu
40
Tepki puanı
0
Konum
Gemlik - Bursa
evet bütün veri çeken botlar çalışmıyor elle ekleyenlere kaldı meydan :)

otomotik çekenler güm bende dahil. :) ama panik yok hallederis.
 

deja_wu

0
Onaylı Üye
Üye
Katılım
26 Şubat 2005
Mesajlar
142
Açılan Konu
7
Tepki puanı
0
ben en azından şu anlık listelemeyi yapa biliyorum tek sorunum arama :D
 

kostak

0
Yasakli Uye
Katılım
23 Nisan 2007
Mesajlar
409
Açılan Konu
37
Tepki puanı
1
Konum
Gemlik
zaten sorun aramada :)

değişen tagları söylesen e
 

deja_wu

0
Onaylı Üye
Üye
Katılım
26 Şubat 2005
Mesajlar
142
Açılan Konu
7
Tepki puanı
0
fazla zamanım olmadığı için bakamadım ama preg_match_all php manuleden inceleyin çözersiniz basit bir olay
 

kostak

0
Yasakli Uye
Katılım
23 Nisan 2007
Mesajlar
409
Açılan Konu
37
Tepki puanı
1
Konum
Gemlik
yok valla olmadı

Warning: preg_match_all() [function.preg-match-all]: Unknown modifier 'p' in /home/******/public_html/search.php on line 26
 
S

sevimsiz

Misafir
merhaba
aynını bende kullandım fakat asp ile.
aradığın kelimedeki boşlukları + ile replace edersen sorun kalmaz sanırsam.
ve 20den fazla görüntüleyemezsin.
bot ile çekeceksen refresh page=page+1 yaparak bu sorununu halledebilirsin.

şimcik:)
sadede geleyim:)
arkadaşlar bu api iyi güzel fakat ben bir sitede gördüm.
videonun direkt linkini veriyor.
<location>http://as45.23sad.youtube.com/string?KLASlk3we45.flv</location>
şeklinde.
bildiğiniz böyle bir api varsa paylaşabilirmisiniz.
syg
 
S

sevimsiz

Misafir
bu şekilde arkadaşlar ?

<playlist>
<trackList>

<track>
<title></title>
<creator></creator>
<location>http://208.65.155.159/get_video?video_id=KLQ4BxJSJFA.flv</location>
</track>

</trackList>
</playlist>
 
Üst