埃德蒙顿华人社区-Edmonton China

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

youtube的下载原理

[复制链接]
鲜花(3) 鸡蛋(0)
发表于 2008-10-2 11:14 | 显示全部楼层 |阅读模式
老杨团队,追求完美;客户至上,服务到位!
以英勇勋章为例
' _( y: D" k' `# Y  |8 R, shttp://www.youtube.com/watch?v=aPXlIjgaHQ4' N1 f* D' r0 Q, B* r- Q( q- _8 z
aPXlIjgaHQ4为ID1! A. N5 c# h0 E/ m/ w! t
  n* O. p' `+ Y, ]5 j( r0 q
用浏览器打开链接时,查看page source,搜索 watch_fullscreen,有一句如下
, D0 \9 q+ v6 ?# U0 ?' K9 ^+ hvar 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=青天白日旗飞扬—献给国民革命军—英勇勋章(後段都是真实的抗战照片)';4 F" }; [' c* I/ T/ H% ]. m7 S4 M
在fmt_map后面两个&之间的文字,得到ID2& {& Q- Y7 T4 g, ~
t=OEgsToPDskLgGT5CRco2E2Rm4jt5pcLK
. }  E' U, e: U# w+ H/ n6 S6 _4 M; S, Z
和前面的ID1一起,组成链接# J+ f6 q8 r! S
http ://www.youtube.com/get_video?video_id=ID1&ID2,即是
# N. f$ ^5 u% j) M) W7 w+ B* G1 x& Shttp ://www.youtube.com/get_video?video_id=aPXlIjgaHQ4&t=OEgsToPDskLgGT5CRco2E2Rm4jt5pcLK# x- K! U" h1 u8 T/ v2 z
(现在这个链接无效)0 s& ^1 K0 E, N& f
把这个链接拷贝到浏览器地址栏,回车后是下载而不是播放这个视频,格式:.flv/ o1 p; A" x- C& K0 ?# \0 {1 T
每次浏览器打开同一视频后得到的ID2不一样,有有效时间限制# A/ {9 W$ a* f0 T( p
( Y3 W8 ?8 @% `9 U
youtube总是改动ID2位置,但基本原理一致
" g' V' O3 v. W: m
5 l  W$ ]( A  s% K$ C' ^8 clinux的下载script:youtube.sh
# o- a+ u9 Y" b9 r+ T7 f# b7 b
#!/bin/sh
9 ?7 j- G: L7 X' O! X  H, ^& m
8 H! B0 \/ o0 W/ x  @" Qif [ "$#" != "1" ]; then
6 p; t) W2 W& d   exit 64
5 U# Q2 Y* r( G/ M1 m7 |7 Dfi
4 b' a3 P6 V; u4 T
' v+ t4 c8 X3 ^2 c7 p; xVID=$(echo "$1"|sed "s/.*v=\([^&]*\).*/\1/")
6 T- q+ p3 v) U: {& R* L2 zURL1="http://www.youtube.com/watch?v=$VID"/ d- f0 C# b7 ^; z
PARAM="$(wget -q -O - "$URL1"|grep watch_fullscreen|cut -d '&' -f 8)"
/ B+ P8 ?* Z7 x: |URL2="http://www.youtube.com/get_video?video_id=$VID&$PARAM"
4 M* `( s4 f+ m, U- s; B3 gexec wget -O "$VID.flv" "$URL2"
/ ?, k, I2 @1 ~: X' l3 C. m
用法:
2 Q+ x3 [) e- W) K8 ]4 V3 z$ b6 |
6 I+ H( k8 L. C: l4 E: r6 Q./youtube.sh http ://www.youtube.com/watch?v=aPXlIjgaHQ4[/url]( B0 h8 _. {# s6 v! `( m
得到 aPXlIjgaHQ4.flv,用ffmpeg可以转换成mp3 mp4 mpg等.
$ z2 _1 t5 T1 k
5 e9 c- |! G8 h5 q8 c! W, ]3 U[ 本帖最后由 夜明砂 于 2008-10-2 12:25 编辑 ]
鲜花(0) 鸡蛋(0)
发表于 2008-10-2 12:53 | 显示全部楼层
有人专门搞了个网站,处理youtube下载问题,很傻瓜、很好用。
: V% A- Z$ Q# Q7 S2 Q& \http://www.techcrunch.com/get-youtube-movie/
鲜花(0) 鸡蛋(0)
发表于 2008-10-17 10:59 | 显示全部楼层
不错,不过用Maxthon的话,不用那么麻烦就行了,而且这个原理只适用于YouTube,你到break.com就不能用,所以还是用下载工具王道。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT-7, 2025-11-11 01:36 , Processed in 0.070891 second(s), 14 queries , Gzip On, APC On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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