埃德蒙顿华人社区-Edmonton China

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

youtube的下载原理

[复制链接]
鲜花(3) 鸡蛋(0)
发表于 2008-10-2 11:14 | 显示全部楼层 |阅读模式
老杨团队,追求完美;客户至上,服务到位!
以英勇勋章为例2 e7 D  d! a  `$ }6 x9 b. f6 L
http://www.youtube.com/watch?v=aPXlIjgaHQ4
, V$ {/ R# z6 j) ^6 qaPXlIjgaHQ4为ID1. Z3 X+ H' S4 c

- A2 M- h" g, z4 {. W( E( F用浏览器打开链接时,查看page source,搜索 watch_fullscreen,有一句如下% E5 m) c8 }! P* U# [5 P
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=青天白日旗飞扬—献给国民革命军—英勇勋章(後段都是真实的抗战照片)';' m. j; E; _, N9 Q  a8 u
在fmt_map后面两个&之间的文字,得到ID2
+ J' i& z; ~8 T1 Ft=OEgsToPDskLgGT5CRco2E2Rm4jt5pcLK( f7 Z0 P8 i3 F6 o0 h) Z& i

8 E1 F" A: d" D( S9 B和前面的ID1一起,组成链接
/ i8 C$ I# Y* T+ f  B( bhttp ://www.youtube.com/get_video?video_id=ID1&ID2,即是
& K4 D& f5 O' w9 E8 qhttp ://www.youtube.com/get_video?video_id=aPXlIjgaHQ4&t=OEgsToPDskLgGT5CRco2E2Rm4jt5pcLK5 G% D' P( R1 ~$ M7 R! z
(现在这个链接无效)
" u& z! `2 v, P1 x  J把这个链接拷贝到浏览器地址栏,回车后是下载而不是播放这个视频,格式:.flv  c7 o9 S4 \  A7 \
每次浏览器打开同一视频后得到的ID2不一样,有有效时间限制3 n& v5 O0 d% @8 [* n, n

( B" N: q9 O  k8 Qyoutube总是改动ID2位置,但基本原理一致6 m# ?$ s; b% u2 n- g" \) \
, Y( y; \+ @( p3 @' B  |8 R+ y# L
linux的下载script:youtube.sh
  g3 e6 R" J7 V
#!/bin/sh3 A9 s* G. A. ]) b; z5 [; @

/ g/ _+ |% {) Aif [ "$#" != "1" ]; then" e+ z8 K- E( e9 V- |1 A0 P
   exit 64
! {& Y# S( D8 T, ^4 L" @fi
! P; k5 s5 a: o1 d4 o$ l3 E
" y; S, o) j; H4 J6 XVID=$(echo "$1"|sed "s/.*v=\([^&]*\).*/\1/")
! H1 D% t! U7 Q2 o& q+ U5 i. iURL1="http://www.youtube.com/watch?v=$VID"4 [3 N0 i% ]- u  l) t
PARAM="$(wget -q -O - "$URL1"|grep watch_fullscreen|cut -d '&' -f 8)"% S8 A1 A8 A/ o/ ^3 ]3 O. v
URL2="http://www.youtube.com/get_video?video_id=$VID&$PARAM"8 G  \, z% F  u
exec wget -O "$VID.flv" "$URL2"

6 H6 N2 g$ F& f  O用法:
8 n4 _0 r& m; ]! S; J, N! k. y- Z/ \! w- N; J
./youtube.sh http ://www.youtube.com/watch?v=aPXlIjgaHQ4[/url], K: p9 z! `2 l: I/ }4 p+ a, Y% ?
得到 aPXlIjgaHQ4.flv,用ffmpeg可以转换成mp3 mp4 mpg等.; E" ]! [; v6 b# c  z

& g3 H5 o6 P( J9 b' d+ M, ][ 本帖最后由 夜明砂 于 2008-10-2 12:25 编辑 ]
鲜花(0) 鸡蛋(0)
发表于 2008-10-2 12:53 | 显示全部楼层
有人专门搞了个网站,处理youtube下载问题,很傻瓜、很好用。1 o5 Q. V/ `0 V# J/ y. h. s
http://www.techcrunch.com/get-youtube-movie/
鲜花(0) 鸡蛋(0)
发表于 2008-10-17 10:59 | 显示全部楼层
不错,不过用Maxthon的话,不用那么麻烦就行了,而且这个原理只适用于YouTube,你到break.com就不能用,所以还是用下载工具王道。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT-7, 2026-2-7 20:29 , Processed in 0.129903 second(s), 15 queries , Gzip On, APC On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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