 鲜花( 3)  鸡蛋( 0)
|
以英勇勋章为例. b O% b6 s k0 Z
http://www.youtube.com/watch?v=aPXlIjgaHQ4/ T( F. o' I5 D; f# y& _) ?) V
aPXlIjgaHQ4为ID1+ G6 D6 Y e r
! e7 T& l/ m$ ], S! q
用浏览器打开链接时,查看page source,搜索 watch_fullscreen,有一句如下
" ]5 J! Z Q: z& G" B& r) fvar 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=青天白日旗飞扬—献给国民革命军—英勇勋章(後段都是真实的抗战照片)';
6 L! c: ?( X# k/ n1 ^2 Q在fmt_map后面两个&之间的文字,得到ID2
7 T' u7 o& g* H+ [$ L5 yt=OEgsToPDskLgGT5CRco2E2Rm4jt5pcLK" k% ?" @# B+ n
, w3 ]+ Y5 T: U9 m# c和前面的ID1一起,组成链接
: x% X8 M- z* @% Y; Ahttp ://www.youtube.com/get_video?video_id=ID1&ID2,即是
( ^* Z* z0 E$ Q( G0 m- P! ~http ://www.youtube.com/get_video?video_id=aPXlIjgaHQ4&t=OEgsToPDskLgGT5CRco2E2Rm4jt5pcLK, p% U- ^5 f5 F3 x- N
(现在这个链接无效)0 c; v; s, A; @' f& D
把这个链接拷贝到浏览器地址栏,回车后是下载而不是播放这个视频,格式:.flv
, }, z, Y" e7 y; S每次浏览器打开同一视频后得到的ID2不一样,有有效时间限制! [4 y4 B5 g! N0 R
( L+ y5 l/ |6 G. [8 E9 K2 }
youtube总是改动ID2位置,但基本原理一致; C% d) n" Q! L0 P
8 S; ]& u2 [8 g3 X7 z* c
linux的下载script:youtube.sh
( @/ E7 l( n+ ]1 C1 u) f+ E#!/bin/sh
7 E5 @2 M5 V2 f( J
5 F7 H8 a# C; m. W7 ~! uif [ "$#" != "1" ]; then, _8 T4 V$ l! t* Q( u
exit 64
9 y. x- i3 h( w/ v# l9 @/ w% O5 V% pfi2 G( n2 |8 U7 P" {4 d
2 q/ u% c4 x5 O. |4 e4 q2 xVID=$(echo "$1"|sed "s/.*v=\([^&]*\).*/\1/")
: [, Z' ^1 h) l/ wURL1="http://www.youtube.com/watch?v=$VID"
9 T$ F, {( S$ ^, rPARAM="$(wget -q -O - "$URL1"|grep watch_fullscreen|cut -d '&' -f 8)"! O- k" F9 O5 t8 Y. B
URL2="http://www.youtube.com/get_video?video_id=$VID&$PARAM"
. i! i) A9 }& r2 ?$ G. k. pexec wget -O "$VID.flv" "$URL2"
- X9 I# N! m8 A! U8 e用法:$ a; L# p1 @ w2 X
3 O% Y1 c+ ^6 r9 k E
./youtube.sh http ://www.youtube.com/watch?v=aPXlIjgaHQ4[/url]7 Z1 F! d2 [' k, Y! V& Q
得到 aPXlIjgaHQ4.flv,用ffmpeg可以转换成mp3 mp4 mpg等.
+ N" b% a! L3 j1 J4 O: v$ V# t1 M" B& u% d8 `
[ 本帖最后由 夜明砂 于 2008-10-2 12:25 编辑 ] |
|