2015-03-25 103 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