 鲜花( 3)  鸡蛋( 0)
|
以英勇勋章为例& a6 ]" N! @: m6 `$ p
http://www.youtube.com/watch?v=aPXlIjgaHQ4
8 B- E# v6 D% } ?aPXlIjgaHQ4为ID1: K4 y' d2 `2 @0 e+ S6 [
) A* N: u1 J3 _0 z9 k3 `4 k9 f用浏览器打开链接时,查看page source,搜索 watch_fullscreen,有一句如下
4 U+ }0 H1 r" }: Uvar 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=青天白日旗飞扬—献给国民革命军—英勇勋章(後段都是真实的抗战照片)';
$ @3 Y+ N# ]* b3 q0 y9 a在fmt_map后面两个&之间的文字,得到ID2
. O0 m$ `0 ?* P4 p6 E/ Ct=OEgsToPDskLgGT5CRco2E2Rm4jt5pcLK
' {+ R L$ y1 O; c$ ], D; @; R
" V3 k, v" N& ^和前面的ID1一起,组成链接
+ _8 K/ D( H% j' \4 W. n. b. ^http ://www.youtube.com/get_video?video_id=ID1&ID2,即是
0 ~5 X& E8 a1 f+ p7 d9 b8 yhttp ://www.youtube.com/get_video?video_id=aPXlIjgaHQ4&t=OEgsToPDskLgGT5CRco2E2Rm4jt5pcLK
6 h4 s+ G. R5 g, ?(现在这个链接无效)8 {- x7 l' b! b; S/ d
把这个链接拷贝到浏览器地址栏,回车后是下载而不是播放这个视频,格式:.flv- } a5 F1 I# E
每次浏览器打开同一视频后得到的ID2不一样,有有效时间限制0 {& W8 |( a1 J: c: `" d
" k+ E) n7 u1 tyoutube总是改动ID2位置,但基本原理一致0 q! W: Y, C: P& S
6 X* y3 V5 z4 ]& D, T, `8 I/ z
linux的下载script:youtube.sh9 `" W* K. e# D
#!/bin/sh
# E2 {6 h" i5 Y7 Z" u; w
- v& g8 V/ Y: `5 Cif [ "$#" != "1" ]; then
2 N! V; Q$ X, t' r7 f exit 64% }: y2 v' z5 t* y* s7 q
fi+ i3 U9 b H$ [( c) g
4 v" l m# T" z$ z
VID=$(echo "$1"|sed "s/.*v=\([^&]*\).*/\1/")5 S1 I9 s: G: y- O7 F' h
URL1="http://www.youtube.com/watch?v=$VID", Z- ?; A3 [& _ k4 p
PARAM="$(wget -q -O - "$URL1"|grep watch_fullscreen|cut -d '&' -f 8)"
! _" G! g# R9 }$ E0 IURL2="http://www.youtube.com/get_video?video_id=$VID&$PARAM"2 R* @# l8 O- P6 ^$ q
exec wget -O "$VID.flv" "$URL2" 5 y6 v8 E( V. S& [; o
用法:! j3 s( u$ I0 j8 o' N; m/ P
! a6 D6 D) r7 O* s8 I @0 e./youtube.sh http ://www.youtube.com/watch?v=aPXlIjgaHQ4[/url]9 n; x$ ], z/ }. W* W
得到 aPXlIjgaHQ4.flv,用ffmpeg可以转换成mp3 mp4 mpg等.
- O' I9 s( ~2 k1 } t1 G w8 _
( m3 {; A/ q; E) p% @[ 本帖最后由 夜明砂 于 2008-10-2 12:25 编辑 ] |
|