2012-05-14 88 views
0

我想知道如何從嵌入鏈接獲得直接鏈接到嵌入視頻(鏈接到.flv/.mp4或任何文件)。HTML:從嵌入src獲取直接鏈接文件

例如,http://www.kumby.com/ano-hana-episode-1/

<embed src="http://www.4shared.com/embed/571660264/396a46be"></embed> 

,雖然鏈接的視頻好像是 「http://dc436.4shared.com/img/571660264/396a46be/dlink__2Fdownload_2FM2b0O5Rr_3Ftsid_3D20120514-093834-29c48ef9/ preview.flv「

瀏覽器如何知道從哪裏加載視頻?我如何編寫將嵌入式鏈接轉換爲直接鏈接的代碼?

更新: 感謝您的快速答覆,昆汀。 但是,在連接到「http://www.4shared.com/embed/571660264/396a46be」時,我似乎沒有收到「位置」標題。

import urllib2 
r=urllib2.urlopen('http://www.4shared.com/embed/571660264/396a46be') 

給了我下面的標題: '內容長度', '經由', 'X-緩存', '接受-範圍', '服務器', 'X-緩存查找',「最後的修飾」, '連接', 'ETAG', '日期', '內涵式', 'X-JSL'

from urllib2 import Request 
r=Request('http://www.4shared.com/embed/571660264/396a46be') 

沒有給我頭都沒有。

+0

您需要展示更多代碼來演示如何提出請求。大多數HTTP庫在默認情況下會自動遵循重定向,因此不會告訴您有關直接信息。 – Quentin

+0

@Quentin:畢竟這是一個python問題?好的,我會更新標籤和問題。 –

回答

1

服務器發出302 HTTP status codea Location header

$ curl -I http://www.4shared.com/embed/571660264/396a46be 
HTTP/1.1 302 Moved Temporarily 
Server: Apache-Coyote/1.1 

(snip cookies) 

Location: http://static.4shared.com/flash/player/5.6/player.swf?file=http://dc436.4shared.com/img/M2b0O5Rr/gg_Ano_Hi_Mita_Hana_no_Namae_o.flv&provider=image&image=http://dc436.4shared.com/img/M2b0O5Rr/gg_Ano_Hi_Mita_Hana_no_Namae_o.flv&displayclick=link&link=http://www.4shared.com/video/M2b0O5Rr/gg_Ano_Hi_Mita_Hana_no_Namae_o.html&controlbar=none 
Content-Length: 0 
Date: Mon, 14 May 2012 10:01:59 GMT 

How do I prevent Python's urllib(2) from following a redirect如果你想獲得有關重定向響應信息,而不是自動跟隨重定向。

+0

非常感謝!沒有不必要的信息/文字! 但是,我沒有收到「位置」標題。我正在更新這個問題。 –

+0

其實,我覺得我很愚蠢,因爲直到現在才注意到,但沒有任何視頻文件的鏈接。 '位置'鏈接到4shared播放器,兩個視頻縮略圖和4shared網站。 –