티스토리 뷰
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
우연히 유뷰브 동영상을 다운받는 프로그램의 소스를 보게 되어서 파이썬으로 직접 코드를 짜면서 따라가보았다. 생각보다 간단하지만, 한단계를 거쳐서 가야해서 조금 번거롭기는 하다. 다음과 같은 과정으로 플래시 동영상 파일인 flv 파일을 다운받을 수 있다.
파이썬으로 만들어본 코드는 다음과 같다. 가장 간단한 과정을 모두 보여주므로, win32 나 C# 으로 이 과정대로 따라 만들면 쉽게 만들 수 있을것 같다.
pop.wimy.com 와 연계하면 재미있는 프로그램이 나올수도 있을것같다 ^^
- 원하는 video id 를 얻는다. 이건 보통 play 하는 url 에, v=???? 라며 적혀있다.
- 특정 url 에 원하는 video id 를 넣어서 토큰(token)이라는 걸 얻는다.
- 다시 특정 url 에 원하는 video id 와 앞에서 얻은 토큰을 얻어서 다운로드를 한다.
파이썬으로 만들어본 코드는 다음과 같다. 가장 간단한 과정을 모두 보여주므로, win32 나 C# 으로 이 과정대로 따라 만들면 쉽게 만들 수 있을것 같다.
import urllib
import re
def testmain():
videoid = "KIvwdpYII7s"
url = u"http://www.youtube.com/get_video_info?video_id=%s&el=embedded&ps=default&eurl=" % videoid
f = urllib.urlopen(url)
info = urllib.unquote(f.read())
r = "token=(.*?)&"
token = re.findall(r, info)[1]
downloadurl = u"http://www.youtube.com/get_video?video_id=%s&t=%s&eurl=&el=embedded&ps=default" % (videoid, token)
downloadWebRequest = urllib.urlopen(downloadurl)
outfile = open("a.flv", "wb")
outfile.write(downloadWebRequest.read())
outfile.close()
if __name__ == "__main__":
testmain()
pop.wimy.com 와 연계하면 재미있는 프로그램이 나올수도 있을것같다 ^^
댓글
최근에 올라온 글
- Total
- Today
- Yesterday