2012-05-14 1 views
0

삽입 된 링크 (.flv/.mp4 또는 기타 파일에 대한 링크)에 대한 직접 링크를 가져 오는 방법을 알고 싶습니다. 해당 동영상에 링크가 될 것으로 보인다 비록HTML : embed 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 "

브라우저에서 비디오를로드 할 위치를 어떻게 알 수 있습니까? 퍼가기 링크를 직접 링크로 변환하는 코드를 작성하려면 어떻게해야합니까?

업데이트 : 빠른 답변, Quentin. 그러나 "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 : 결국 파이썬 문제일까요? 좋아요, 태그와 질문을 업데이트 할게요. –

답변

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 플레이어, 2 개의 비디오 축소판 및 4shared 웹 사이트로 연결됩니다. –

관련 문제