 鲜花( 3)  鸡蛋( 0)
|
以英勇勋章为例
1 b; w1 {# _% u* q; V6 Z6 K4 m: c1 ^http://www.youtube.com/watch?v=aPXlIjgaHQ4+ ?1 I8 g8 Z) V/ w. Y2 W4 z
aPXlIjgaHQ4为ID1' d( X. u4 u( B: n' q: @
$ E0 s( z8 [- P/ e
用浏览器打开链接时,查看page source,搜索 watch_fullscreen,有一句如下0 j3 W. g y# h0 W2 v
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=青天白日旗飞扬—献给国民革命军—英勇勋章(後段都是真实的抗战照片)';
P* U- k6 v) ^# d9 D: s在fmt_map后面两个&之间的文字,得到ID2
/ F8 n& ^; _- s' ~t=OEgsToPDskLgGT5CRco2E2Rm4jt5pcLK- G) C- p; ~% \5 v3 g0 e! Q
( Y: k% v7 x6 t9 [3 e2 C
和前面的ID1一起,组成链接- j4 f) q2 Y4 H y/ `
http ://www.youtube.com/get_video?video_id=ID1&ID2,即是
; X0 M+ S; C0 r& A- n: x2 s" phttp ://www.youtube.com/get_video?video_id=aPXlIjgaHQ4&t=OEgsToPDskLgGT5CRco2E2Rm4jt5pcLK+ g' [3 }) n v6 J# }
(现在这个链接无效)
0 {3 V6 r# Y* O7 ?% ] m' i2 m把这个链接拷贝到浏览器地址栏,回车后是下载而不是播放这个视频,格式:.flv. W; R) g) P, j' p2 U
每次浏览器打开同一视频后得到的ID2不一样,有有效时间限制7 n5 S) U& O! @2 C: a
6 o6 V3 I5 k0 Y# x- P3 w0 {youtube总是改动ID2位置,但基本原理一致! t* \: d y: x5 s7 i
0 ~% U+ @+ z3 I: Y! X' e5 h: ?3 x
linux的下载script:youtube.sh
% Y# P+ T# {6 \3 V( e O; n#!/bin/sh
; d3 D9 r6 o" o' g/ v7 l
. t& f: Q3 B }' Q% l! K, aif [ "$#" != "1" ]; then; l0 r) n a! X4 F" o
exit 64$ k. q1 U7 I# _
fi
. q. @% b) r3 O) P: O1 i8 c9 K1 w, |
VID=$(echo "$1"|sed "s/.*v=\([^&]*\).*/\1/")
% W6 u6 b* @9 {- J* [+ mURL1="http://www.youtube.com/watch?v=$VID" X1 f- {7 ~8 Y2 l( U8 z
PARAM="$(wget -q -O - "$URL1"|grep watch_fullscreen|cut -d '&' -f 8)"
; ^0 L$ [( x9 Y8 NURL2="http://www.youtube.com/get_video?video_id=$VID&$PARAM"/ k o; o( |: E
exec wget -O "$VID.flv" "$URL2" 5 C. P( L5 r; K# P: o
用法:
$ t+ |+ S% t& j, p( g2 H" a' L# d* k# Z5 Q: u) _* u2 |
./youtube.sh http ://www.youtube.com/watch?v=aPXlIjgaHQ4[/url]9 ^3 b/ W6 t5 Y: B- ^# B7 o
得到 aPXlIjgaHQ4.flv,用ffmpeg可以转换成mp3 mp4 mpg等.
! q2 U8 @; I& I5 A- l+ e/ Z: U* k) T4 N
8 B( t9 P6 Y; A$ c# `+ {[ 本帖最后由 夜明砂 于 2008-10-2 12:25 编辑 ] |
|