 鲜花( 3)  鸡蛋( 0)
|
以英勇勋章为例
- ^# N% o: r, Ghttp://www.youtube.com/watch?v=aPXlIjgaHQ4
7 B, ^9 h- W2 a; zaPXlIjgaHQ4为ID1
: I/ j) y7 b0 Y; |8 s) _! S# ~9 e5 R- p% \. N1 d
用浏览器打开链接时,查看page source,搜索 watch_fullscreen,有一句如下
2 j! V% e" r8 C4 ~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=青天白日旗飞扬—献给国民革命军—英勇勋章(後段都是真实的抗战照片)';( u, \$ A* S, L" w' G7 z
在fmt_map后面两个&之间的文字,得到ID2
?4 d" _( h. D6 K {+ }t=OEgsToPDskLgGT5CRco2E2Rm4jt5pcLK2 y4 q" k1 r# X2 v- F0 y$ Z
- \, Y/ {4 v' n: {/ i
和前面的ID1一起,组成链接
& G, m& s/ m' B2 n4 Rhttp ://www.youtube.com/get_video?video_id=ID1&ID2,即是
7 {+ C1 U% j0 n t% y& Hhttp ://www.youtube.com/get_video?video_id=aPXlIjgaHQ4&t=OEgsToPDskLgGT5CRco2E2Rm4jt5pcLK# o2 J; `, M- g
(现在这个链接无效)
: z& M& D! V9 q; Y3 n! l把这个链接拷贝到浏览器地址栏,回车后是下载而不是播放这个视频,格式:.flv/ q( h" n/ X2 x$ g0 i& p
每次浏览器打开同一视频后得到的ID2不一样,有有效时间限制
6 |. j; N' b2 h/ h2 d9 T
8 M; l3 m" ~* W* O: ryoutube总是改动ID2位置,但基本原理一致
/ h+ O4 O' s! i) m2 P
+ H b8 ]$ ?4 e2 clinux的下载script:youtube.sh
8 j8 T7 e+ a" {% l+ T#!/bin/sh
# [; l' F) z) H7 b
( F/ b* x8 V, }+ P- _if [ "$#" != "1" ]; then3 p: D) T' G4 h+ w
exit 64% o F$ K2 d h1 I b! S/ v/ v
fi
4 `8 p% n8 I3 W' ^- B O$ K; m' m3 v
VID=$(echo "$1"|sed "s/.*v=\([^&]*\).*/\1/")- K: `9 a7 i Z8 n- b
URL1="http://www.youtube.com/watch?v=$VID"0 u3 a& Z. g# e
PARAM="$(wget -q -O - "$URL1"|grep watch_fullscreen|cut -d '&' -f 8)"/ {# p5 L3 E) c/ ~$ ^9 A
URL2="http://www.youtube.com/get_video?video_id=$VID&$PARAM"
9 e4 V3 k q$ k) Dexec wget -O "$VID.flv" "$URL2"
! V q( ?6 y5 I' [用法:6 Z" I5 s! x6 y% K9 a N
$ `" o$ V1 W8 V4 w$ a./youtube.sh http ://www.youtube.com/watch?v=aPXlIjgaHQ4[/url]
: b3 R U% _% x( u9 J* d得到 aPXlIjgaHQ4.flv,用ffmpeg可以转换成mp3 mp4 mpg等.
+ s2 M0 ~+ v P6 L' {4 B3 z+ n0 O8 f& j( k
[ 本帖最后由 夜明砂 于 2008-10-2 12:25 编辑 ] |
|