İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Youtube video çekme

maxcilopez

0
İyinet Üyesi
Katılım
27 Ekim 2006
Mesajlar
545
Reaction score
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
İyinet Üyesi
Katılım
26 Şubat 2005
Mesajlar
142
Reaction score
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
İyinet Üyesi
Katılım
26 Şubat 2005
Mesajlar
142
Reaction score
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
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
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.
 

Holokost

0
İyinet Üyesi
Katılım
10 Ekim 2006
Mesajlar
1,613
Reaction score
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
Reaction score
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
İyinet Üyesi
Katılım
26 Şubat 2005
Mesajlar
142
Reaction score
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
Reaction score
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
İyinet Üyesi
Katılım
27 Ekim 2006
Mesajlar
397
Reaction score
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
İyinet Üyesi
Katılım
26 Şubat 2005
Mesajlar
142
Reaction score
0
ben en azından şu anlık listelemeyi yapa biliyorum tek sorunum arama :D
 

deja_wu

0
İyinet Üyesi
Katılım
26 Şubat 2005
Mesajlar
142
Reaction score
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
Reaction score
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>
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst