 鲜花( 3)  鸡蛋( 0)
|
以英勇勋章为例
& g& `: w/ W1 Mhttp://www.youtube.com/watch?v=aPXlIjgaHQ4% n$ E3 }; G6 M7 J
aPXlIjgaHQ4为ID1/ l; O. \6 s, l; y
! [3 t( ^1 y, n- u) u用浏览器打开链接时,查看page source,搜索 watch_fullscreen,有一句如下; c' r) A- k8 f& r9 C
var fullscreenUrl = '/watch_fullscreen?fs=1&q=%25E9%259D%2592%25E5%25A4%25A9%25E7%2599%25BD%25E6%2597%25A5&vq=None&sourceid=ys&video_id=aPXlIjgaHQ4&l=272&sk=yZl4ubdwkdUMWq_tbpmcGH2rlQNzNM_jC&fmt_map=6%2F720000%2F7%2F0%2F0&t=OEgsToPDskLgGT5CRco2E2Rm4jt5pcLK&hl=en&plid=AARYH5sPzVmXFr0ZAAAAoAAIIAE&title=青天白日旗飞扬—献给国民革命军—英勇勋章(後段都是真实的抗战照片)';
, f" Q( [+ T9 s" V在fmt_map后面两个&之间的文字,得到ID2 A+ O. t, p$ r! k; Z
t=OEgsToPDskLgGT5CRco2E2Rm4jt5pcLK: o& x- M* A+ ?! W
* Z- c8 [0 [1 c4 _和前面的ID1一起,组成链接
- I. x3 I/ u$ |7 |$ s% o& ?http ://www.youtube.com/get_video?video_id=ID1&ID2,即是9 ~& J/ K% r j; G9 C
http ://www.youtube.com/get_video?video_id=aPXlIjgaHQ4&t=OEgsToPDskLgGT5CRco2E2Rm4jt5pcLK# r2 l. o) F. e" x9 `# C
(现在这个链接无效)( P9 {: p) _* w7 {2 k2 p
把这个链接拷贝到浏览器地址栏,回车后是下载而不是播放这个视频,格式:.flv( l* y; q1 {6 o8 P
每次浏览器打开同一视频后得到的ID2不一样,有有效时间限制% S# j. I( @* \+ S
$ w$ M' d8 z+ A; ~) C
youtube总是改动ID2位置,但基本原理一致
4 i E! q. A! o% I+ C) p; B6 j$ `- I! H0 ^( f/ b
linux的下载script:youtube.sh8 h& j0 S7 p' [ ~* u1 P& A+ g
#!/bin/sh5 t6 O' a7 y5 I. F
; x! ?8 r6 Y& D
if [ "$#" != "1" ]; then
) k4 U- N2 [0 @( g1 W5 D exit 64* p8 L/ ?0 T& n B i6 n
fi" \1 ~0 v% Z- a7 D3 ?
) `0 u( I8 \% uVID=$(echo "$1"|sed "s/.*v=\([^&]*\).*/\1/")) @2 j8 Q1 |1 `6 J& r( U
URL1="http://www.youtube.com/watch?v=$VID"" |/ @# y# r4 m2 ]7 V9 G0 t
PARAM="$(wget -q -O - "$URL1"|grep watch_fullscreen|cut -d '&' -f 8)"$ m* D: `2 s; f1 {4 Y9 L
URL2="http://www.youtube.com/get_video?video_id=$VID&$PARAM"
6 W5 ~+ p7 E4 c0 Y8 F+ zexec wget -O "$VID.flv" "$URL2" 7 M& P! M+ O8 m# o3 @& |7 L
用法:
& S; p3 A) K/ [9 V h9 b8 R3 G& H2 m# } p/ Q
./youtube.sh http ://www.youtube.com/watch?v=aPXlIjgaHQ4[/url]% D+ [. U9 n' r( `
得到 aPXlIjgaHQ4.flv,用ffmpeg可以转换成mp3 mp4 mpg等.
' Q) [ Q O$ _+ T7 a- {0 J4 h/ [" \: V7 Q9 Q
[ 本帖最后由 夜明砂 于 2008-10-2 12:25 编辑 ] |
|