wget으로 손쉽게 다운로드 받는방법중에 찾은건 &t 값이 필요하다.
token 인지 table 인지는 모르겠지만, 이 값을 받을려고 동영상 페이지 300k 가량하는걸 받기도 모호하고
이래저래 찾아보는데 편하게 받는 법은 없는듯 하다.
http://www.youtube.com/v/BzbbpxR7ZTc
이런식으로 열면 리턴 URL로 t 값이 주어진다는데 오지도
않고..
정작 받아도 이상한 바이너리 파일이라.. 안드로메다로.. OTL
Firefox에서 열면 플래시인지 바로 전체화면(!) 플래시무비가 나온다.
유투브 H.264 인코딩 동영상 소스
요청 URL : http://www.youtube.com:80/get_video?video_id=[비디오ID]&t=[트랙 or 테이블 값]&fmt=18
파라미터
- 비디오 아이디 : 유투브 검색 API로 쉽게 비디오 ID를 얻을 수 있습니다.
- 트랙 or 테이블 값
http://www.youtube.com:80/v/[비디오ID] 로 쿼리를 요청하면 Respone URI안에 t값이 포함되어져 있습니다.
- fmt=18 : 이 파라미터를 붙이면 H.264 동영상 소스가, 붙이지 않으며 FLV 소스가 날라옵니다.
사족
TC-1100 노트북에서는 스테레오 마이크가 크게 녹음되지만, mono로만 되고
데스크탑에서는 stereo로 녹음되나, 소리가 거의 들릴락 말락한다. 물론 음질은 매우 좋다.
아마도, 스테레오 마이크가 다이나믹(패시브)가 아닌 액티브(콘덴서) 마이크라서 그런듯 싶다.
wget은 HTTP나 FTP 등의 프로토콜을 통해 웹페이지나 파일을 다운받는 유틸리티이다.
아무튼 youtube에서 파일로 다운로드 받기위해 주소를 변환해서 시도를 해도 403 Forbidden 에러만 날뿐 다운로드 되지 않는다.
아무튼 쿠키를 저장하고, 이를 다시 불러들여 다운로드를 시도하면 제대로 받아진다.
쿠키를 이용해서 세션이 달라지면, 이전의 내용은 무효화 되서 그런것으로 생각된다.
‘--no-cookies’
Disable
the use of cookies. Cookies are a mechanism for maintaining
server-side state. The server sends the client a cookie using the
Set-Cookie header, and the client responds with the same
cookie
upon further requests. Since cookies allow the server owners to keep
track of visitors and for sites to exchange this information, some
consider them a breach of privacy. The default is to use cookies;
however, storing cookies is not on by default.
‘--load-cookies file’
Load
cookies from file before the first HTTP retrieval.
file is a textual file in the format originally used by
Netscape's
cookies.txt file.
You will typically use this option when mirroring sites that
require
that you be logged in to access some or all of their content. The login
process typically works by the web server issuing an http
cookie
upon receiving and verifying your credentials. The cookie is then
resent by the browser when accessing that part of the site, and so
proves your identity.
Mirroring such a site requires Wget to send the same cookies
your
browser sends when communicating with the site. This is achieved by
‘--load-cookies’—simply point
Wget to the location of the
cookies.txt file, and it will
send the same cookies your browser
would send in the same situation. Different browsers keep textual
cookie files in different locations:
Netscape 4.x.
The cookies are in ~/.netscape/cookies.txt.
Mozilla and Netscape 6.x.
Mozilla's
cookie file is also named cookies.txt,
located
somewhere under ~/.mozilla, in
the directory of your profile.
The full path usually ends up looking somewhat like
~/.mozilla/default/some-weird-string/cookies.txt.
Internet Explorer.
You can produce a
cookie file Wget can use by using the File menu,
Import and Export, Export Cookies. This has been tested with Internet
Explorer 5; it is not guaranteed to work with earlier versions.
Other browsers.
If you are using a
different browser to create your cookies,
‘--load-cookies’ will only work
if you can locate or produce a
cookie file in the Netscape format that Wget expects.
If you cannot use ‘--load-cookies’,
there might still be an
alternative. If your browser supports a “cookie manager”, you can use
it to view the cookies used when accessing the site you're mirroring.
Write down the name and value of the cookie, and manually instruct Wget
to send those cookies, bypassing the “official” cookie support:
wget --no-cookies --header "Cookie: name=value"
‘--save-cookies file’
Save
cookies to file before exiting. This will not save cookies
that have expired or that have no expiry time (so-called “session
cookies”), but also see ‘--keep-session-cookies’.
‘--keep-session-cookies’
When
specified, causes ‘--save-cookies’
to also save session
cookies. Session cookies are normally not saved because they are
meant to be kept in memory and forgotten when you exit the browser.
Saving them is useful on sites that require you to log in or to visit
the home page before you can access some pages. With this option,
multiple Wget runs are considered a single browser session as far as
the site is concerned.
Since the cookie file format does not normally carry session
cookies,
Wget marks them with an expiry timestamp of 0. Wget's
‘--load-cookies’ recognizes those
as session cookies, but it might
confuse other browsers. Also note that cookies so loaded will be
treated as other session cookies, which means that if you want
‘--save-cookies’ to preserve them
again, you must use
‘--keep-session-cookies’ again.
Cannot write to `videoplayback?ip=211.0.0.0&sparams=id,expire,ip,ipbits,itag,algorithm,burst,factor&fexp=904405,900037&algorithm=throttle-factor&itag=35&ipbits=8&burst=40&sver=3&expire=1270890000&key=yt1&signature=5C611E956FB97E74D3435F8815A7A2376E3C61D4.C2C593CDDE0C15671462BB13C5404EC6927F7F7D&factor=1.25&id=99d963576b84b350' (File name too long).
주소가 255자를 넘어서는 관계로, 파일 이름으로 하기에는 너무 길다고 에러가 발생한다.
반드시 -O filename 으로 별도의 이름을 지정해 주어야 한다.
typedef void (*XML_CharacterDataHandler)(void *userData, const XML_Char *s, int len);
Set a text handler. The string your handler receives is NOT zero terminated. You have to use the length argument to deal with the end of the string. A single block of contiguous text free of markup may still result in a sequence of calls to this handler. In other words, if you're searching for a pattern in the text, it may be split across calls to this handler.
<media:description type='plain'>The funniest 6 minutes you will ever see! Remember how many of these you have done! Follow @ http://www.twitter.com/judsonlaipply Check my book out at http://www.mightaswelldance.com
http://www.theevolutionofdance.com -
for more info including song list!</media:description>
<media:description type="plain">
========== [4]
The funniest 6 minutes you will ever see! Remember how many of these you have done! Follow @ http://www.twitter.com/judsonlaipply Ch
eck my book out at http://www.mightaswelldance.com
========== [4]