2015-03-25 57 views
0

我想從YouTube視頻中獲得結果熱門視頻: http://www.google.com.tr/trends/hotvideos#geo=CA&hvsm=1 我正在使用捲曲。使用php curl獲取YouTube視頻流行趨勢熱門視頻的結果

function cek($ursa){ 
    $useragent = 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'; 
    $referer = 'http://www.google.com/'; 
    $ch = curl_init(); 
    $zaman = 0; 
    curl_setopt ($ch, CURLOPT_URL, $ursa); 
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $zaman); 
    curl_setopt ($ch, CURLOPT_REFERER, $referer); 
    curl_setopt ($ch, CURLOPT_USERAGENT, $useragent); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
    curl_setopt($ch, CURLOPT_MAXREDIRS, 5); 
    $rmx = curl_exec($ch); 
    curl_close($ch); 
    return $rmx; 
} 
$html = cek("http://www.google.com.tr/trends/hotvideos#geo=CA&hvsm=1"); 
echo $html; 

當我得到頁面捲曲我沒有看到頁面中的視頻鏈接。 我怎樣才能得到他們?我已經看過YouTube的API,但無法找到獲得這些結果的方法。有沒有辦法從Youtube API獲得這些結果?

+0

請求的結果是什麼? – Raptor 2015-03-25 04:24:42

+0

@ Raptor:本網站不允許我添加它,因爲結果太長。結果如下:https://justpaste.it/k5nq – r10 2015-03-25 18:53:46

+0

明白了。我注意到你沒有使用Youtube API。您應該使用API​​而不是獲取整個YouTube頁面的HTML源代碼。 – Raptor 2015-03-26 01:55:33

回答

0

視頻不會顯示,因爲它們是用JavaScript加載的,而不是由curl執行。我不知道YouTube的api,但要從網站獲取數據,您需要分析它使用的JavaScript並複製它所做的請求。

+0

有沒有一種方法來獲取頁面的JavaScript捲曲?就像它使用瀏覽器瀏覽? – r10 2015-03-25 16:30:47

+0

@ r10你可以模擬一個瀏覽器,但它應該更容易查看源代碼,找出哪些JavaScript正在檢索視頻,並翻譯它。 – Vitruvius 2015-03-25 17:08:11

+0

我不確定,但我認爲這是他們稱爲javascript的代碼: http://pastebin.com/57EtLjJy 當我請求這些網址時,它給了我JS文件。 您是否有任何示例顯示如何讓它們運行? – r10 2015-03-26 02:46:51