埃德蒙顿华人社区-Edmonton China

 找回密码
 注册
查看: 3000|回复: 2

youtube的下载原理

[复制链接]
鲜花(3) 鸡蛋(0)
发表于 2008-10-2 11:14 | 显示全部楼层 |阅读模式
以英勇勋章为例& D0 h7 J$ l7 P( f/ q9 _' d8 r
http://www.youtube.com/watch?v=aPXlIjgaHQ4' S6 F% |* L" h- E/ e, a
aPXlIjgaHQ4为ID12 W+ @+ I# b0 m% L2 F3 n$ K0 H: P8 t

& B' `" J9 b9 \! n6 \, |用浏览器打开链接时,查看page source,搜索 watch_fullscreen,有一句如下  U3 k$ T' I0 y/ P5 s! S
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=青天白日旗飞扬—献给国民革命军—英勇勋章(後段都是真实的抗战照片)';8 _. e0 v* i, [7 G1 g
在fmt_map后面两个&之间的文字,得到ID2
- q  _$ c1 Q  `t=OEgsToPDskLgGT5CRco2E2Rm4jt5pcLK+ W. z* v% |' s2 ?! |: V
, ~" H. V; \  v1 N- [" \
和前面的ID1一起,组成链接
, k6 f' `; r# }. thttp ://www.youtube.com/get_video?video_id=ID1&ID2,即是$ y1 Q( c3 @7 y# Z
http ://www.youtube.com/get_video?video_id=aPXlIjgaHQ4&t=OEgsToPDskLgGT5CRco2E2Rm4jt5pcLK& R# x! ^. t4 e* ~4 }
(现在这个链接无效)+ o; R7 R- ~% ~5 b
把这个链接拷贝到浏览器地址栏,回车后是下载而不是播放这个视频,格式:.flv+ d% ]  ~  k4 X& @: e
每次浏览器打开同一视频后得到的ID2不一样,有有效时间限制7 d, ~1 _0 E, r  }9 m3 x& v5 l3 l

# v# V7 T; X+ `: n+ g# `6 [youtube总是改动ID2位置,但基本原理一致
/ A" @/ O1 b8 Q) c) B8 T0 E# F. f- Z$ U! f3 F% v
linux的下载script:youtube.sh
$ F+ X9 W7 u, @; {* F$ C" F
#!/bin/sh
5 y$ u, {% D* b& U7 E# l1 a$ {3 S8 K: D2 g0 g' {+ u" U  q  Y
if [ "$#" != "1" ]; then1 G" u' y& A7 K  \+ K% u/ ^
   exit 64! [! u$ J3 b2 r; d/ z
fi
6 b0 }- L3 t: f( g6 u6 F+ P9 [8 e' `- _4 a
VID=$(echo "$1"|sed "s/.*v=\([^&]*\).*/\1/")
# s. B6 Q5 {  W* T- ]URL1="http://www.youtube.com/watch?v=$VID"
% |* {8 Z7 I, m, {PARAM="$(wget -q -O - "$URL1"|grep watch_fullscreen|cut -d '&' -f 8)"
+ r; M, t4 ~4 S4 ]9 uURL2="http://www.youtube.com/get_video?video_id=$VID&$PARAM"
& O; J! \- ^. f3 f! h) N7 ]exec wget -O "$VID.flv" "$URL2"
$ L. X3 m9 N, Y$ Z: v
用法:1 ]/ U; _; d! \
. B, P% i- z. N) ?# X5 q3 q
./youtube.sh http ://www.youtube.com/watch?v=aPXlIjgaHQ4[/url]
& i5 ?5 f7 _( k: x得到 aPXlIjgaHQ4.flv,用ffmpeg可以转换成mp3 mp4 mpg等.
, x2 b( e. k6 W1 J
8 o6 l8 ?1 _% w, B[ 本帖最后由 夜明砂 于 2008-10-2 12:25 编辑 ]
鲜花(0) 鸡蛋(0)
发表于 2008-10-2 12:53 | 显示全部楼层
有人专门搞了个网站,处理youtube下载问题,很傻瓜、很好用。1 p3 b* Z  P3 U  a& G2 J
http://www.techcrunch.com/get-youtube-movie/
大型搬家
鲜花(0) 鸡蛋(0)
发表于 2008-10-17 10:59 | 显示全部楼层
不错,不过用Maxthon的话,不用那么麻烦就行了,而且这个原理只适用于YouTube,你到break.com就不能用,所以还是用下载工具王道。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系我们|小黑屋|手机版|Archiver|埃德蒙顿中文网

GMT-7, 2026-10-28 08:56 , Processed in 0.373327 second(s), 15 queries , Gzip On, APC On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表