2012-11-29 50 views
0

我正試圖編寫簡單的應用程序從YouTube上下載視頻。
我對獲取文件(http://www.youtube.com/watch?v=pViMzR_ylXg)的代碼如下所示:在哪裏尋找真正的網址

bool FD_core::get_file() 
{ 
    QNetworkRequest request; 

    request.setUrl(QUrl("http://www.youtube.com/watch?v=pViMzR_ylXg")); 
    connect(network_access_manager_, SIGNAL(finished(QNetworkReply*)), 
    this, SLOT(onRequestCompleted(QNetworkReply *))); 
    network_access_manager_->get(request); 
    return true; 
} 


void FD_core::onRequestCompleted(QNetworkReply * reply) 
{ 
    QByteArray data_ = reply->readAll(); 
    cout << data_.constData(); 
    qDebug() << "size: " << data_.size(); 
} 

在上面的函數data_.constData()產生大量文字,部分(非常小):

<!DOCTYPE html> 
    <html lang="en" dir="ltr" > 

<head> 
     <script> 
var yt = yt || {};yt.timing = yt.timing || {};yt.timing.tick = function(label, opt_time) {var timer = yt.timing['timer'] || {};if(opt_time) {timer[label] = opt_time;}else {timer[label] = new Date().getTime();}yt.timing['timer'] = timer;};yt.timing.info = function(label, value) {var info_args = yt.timing['info_args'] || {};info_args[label] = value;yt.timing['info_args'] = info_args;};yt.timing.info('e', "907050,906359,927900,919320,914021,916611,922401,920704,912806,927201,925706,928001,922403,913546,913556,920201,911116,901451");yt.timing.wff = true;yt.timing.info('pr', "1");yt.timing.info('an', "dclk,aftv,afv");if (document.webkitVisibilityState == 'prerender') {document.addEventListener('webkitvisibilitychange', function() {yt.timing.tick('start');}, false);}yt.timing.tick('start');yt.timing.info('li','0');try {yt.timing['srt'] = window.gtbExternal && window.gtbExternal.pageT() ||window.external && window.external.pageT;} catch(e) {}if (window.chrome && window.chrome.csi) {yt.timing['srt'] = Math.floor(window.chrome.csi().pageT);}if (window.msPerformance && window.msPerformance.timing) {yt.timing['srt'] = window.msPerformance.timing.responseStart - window.msPerformance.timing.navigationStart;} </script> 

<script>var yt = yt || {};yt.preload = {};yt.preload.counter_ = 0;yt.preload.start = function(src) {var img = new Image();var counter = ++yt.preload.counter_;yt.preload[counter] = img;img.onload = img.onerror = function() {delete yt.preload[counter];};img.src = src;img = null;};yt.preload.start("http:\/\/o-o---preferred---sn-xn5ucu-q0ce---v3---lscache7.c.youtube.com\/crossdomain.xml");yt.preload.start("http:\/\/o-o---preferred---sn-xn5ucu-q0ce---v3---lscache7.c.youtube.com\/generate_204?ip=95.83.224.63\u0026upn=A3aUhLYV55M\u0026sparams=algorithm%2Cburst%2Ccp%2Cfactor%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Csource%2Cupn%2Cexpire\u0026fexp=907050%2C906359%2C927900%2C919320%2C914021%2C916611%2C922401%2C920704%2C912806%2C927201%2C925706%2C928001%2C922403%2C913546%2C913556%2C920201%2C911116%2C901451\u0026mt=1354207274\u0026key=yt1\u0026algorithm=throttle-factor\u0026burst=40\u0026ipbits=8\u0026itag=34\u0026sver=3\u0026signature=692E605215EB4D2CA407291CA26E14B844768A89.7A2930CE25FDDFC7C4FF5AA56DD02538B0020267\u0026mv=m\u0026source=youtube\u0026ms=au\u0026gcr=ie\u0026expire=1354228237\u0026factor=1.25\u0026cp=U0hUSVJNVl9IUUNONF9KR1pDOi0tSFhhRzVFRkd6\u0026id=a5588ccd1ff29578");</script><title>Die Antwoord - Fok Julle Naaiers (Mike Tyson&#39;s Words NOT DJ Hi-Teks) - YouTube</title><link rel="search" type="application/opensearchdescription+xml" href="http://www.youtube.com/opensearch?locale=en_US" title="YouTube Video Search"><link rel="icon" href="http://s.ytimg.com/yts/img/favicon-vfldLzJxy.ico" type="image/x-icon"><link rel="shortcut icon" href="http://s.ytimg.com/yts/img/favicon-vfldLzJxy.ico" type="image/x-icon"> <link rel="icon" href="//s.ytimg.com/yts/img/favicon_32-vflWoMFGx.png" sizes="32x32"><link rel="canonical" href="/watch?v=pViMzR_ylXg"><link rel="alternate" media="handheld" href="http://m.youtube.com/watch?v=pViMzR_ylXg"><link rel="alternate" media="only screen and (max-width: 640px)" href="http://m.youtube.com/watch?v=pViMzR_ylXg"><link rel="shortlink" href="http://youtu.be/pViMzR_ylXg"> <meta name="title" content="Die Antwoord - Fok Julle Naaiers (Mike Tyson&#39;s Words NOT DJ Hi-Teks)"> 

    <meta name="description" content="Some of the lyrics of &quot;Die Antwoord&quot; new single &quot;Fok Julle Naaiers&quot; have caused such controversy that Die Antwoord have split with their record label Intersc..."> 

    <meta name="keywords" content="Die Antwoord, Fok Julle Naaiers, Mike Tyson, DJ Hi-Tek, Faggot"> 

    <link rel="alternate" type="application/json+oembed" href="http://www.youtube.com/oembed?url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DpViMzR_ylXg&amp;format=json" title="Die Antwoord - Fok Julle Naaiers (Mike Tyson&#39;s Words NOT DJ Hi-Teks)"> 
    <link rel="alternate" type="text/xml+oembed" href="http://www.youtube.com/oembed?url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DpViMzR_ylXg&amp;format=xml" title="Die Antwoord - Fok Julle Naaiers (Mike Tyson&#39;s Words NOT DJ Hi-Teks)"> 

     <meta property="og:url" content="http://www.youtube.com/watch?v=pViMzR_ylXg"> 
    <meta property="og:title" content="Die Antwoord - Fok Julle Naaiers (Mike Tyson&#39;s Words NOT DJ Hi-Teks)"> 
    <meta property="og:description" content="Some of the lyrics of &quot;Die Antwoord&quot; new single &quot;Fok Julle Naaiers&quot; have caused such controversy that Die Antwoord have split with their record label Intersc..."> 
    <meta property="og:type" content="video"> 
    <meta property="og:image" content="http://i1.ytimg.com/vi/pViMzR_ylXg/mqdefault.jpg"> 
     <meta property="og:video" content="http://www.youtube.com/v/pViMzR_ylXg?version=3&amp;autohide=1"> 
     <meta property="og:video:type" content="application/x-shockwave-flash"> 
     <meta property="og:video:width" content="853"> 
     <meta property="og:video:height" content="480"> 
    <meta property="og:site_name" content="YouTube"> 
    <meta property="fb:app_id" content="87741124305"> 
    <meta name="twitter:card" value="player"> 
    <meta name="twitter:site" value="@youtube"> 
     <meta name="twitter:player" value="https://www.youtube.com/embed/pViMzR_ylXg"> 
     <meta property="twitter:player:width" content="853"> 
     <meta property="twitter:player:height" content="480"> 

所以我的問題是,在這個文件中的URL是隱藏的,這將允許我下載想要的文件?

+0

@哇,甚至不能問stackoverflow上的問題。你的人有什麼問題? – smallB

+0

「你的人有什麼問題」可能無助於你的事業,或者讓我們保持這個問題的公開。 –

+0

@JohnDibling我真的不明白這個問題的原因得到接近的票?這個問題出了什麼問題?如果有人問你一個問題,你不知道他在說什麼,但你確實想幫助他,不要退縮(投票結束),但要求他澄清。這是正常的做法。投票結束,沒有任何解釋,也沒有機會澄清,這簡直是荒謬的。 – smallB

回答

0
  1. 你所要做的是可能違反了YouTube的服務條款。

  2. 另請檢查youtube-dl

  3. 另外還有Youtube API可用。

+0

他沒有提到他已經與YouTube簽了合約 - 那麼你究竟從哪裏得到了這個「服務條款」呢? – user93353

+0

@ user93353,IANAL,但使用一些網站/互聯網服務是接受它的服務條款。但是,這只是一個警告,有一個「可能」的字眼。 –

+0

@user:「通過使用或訪問YouTube網站或任何在YouTube網站上或通過YouTube網站提供給您的任何YouTube產品,軟件,數據饋送和服務(統稱爲」服務「),即表示您同意)這些條款和條件(「服務條款」),「[來源](http://www.youtube.com/static?gl=US&template=terms)歡迎來到互聯網。 –