埃德蒙顿华人社区-Edmonton China

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

youtube的下载原理

[复制链接]
鲜花(3) 鸡蛋(0)
发表于 2008-10-2 11:14 | 显示全部楼层 |阅读模式
老杨团队,追求完美;客户至上,服务到位!
以英勇勋章为例0 _) ?! u( x, a0 \; L, _+ y$ {
http://www.youtube.com/watch?v=aPXlIjgaHQ4
/ H# y$ h8 Q6 ]: Y0 Q5 FaPXlIjgaHQ4为ID1
9 a  B9 {1 Z8 {4 e% _0 g* K5 k/ J& C3 U' M; @! G
用浏览器打开链接时,查看page source,搜索 watch_fullscreen,有一句如下" G/ J  q7 B+ D# F% s8 o: b
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=青天白日旗飞扬—献给国民革命军—英勇勋章(後段都是真实的抗战照片)';
$ Q6 Z  l" j2 y0 u" g' n: K- r2 Q在fmt_map后面两个&之间的文字,得到ID2
6 b* `9 r  _' st=OEgsToPDskLgGT5CRco2E2Rm4jt5pcLK
* e; ]. Q3 g3 v* s2 ^
: V+ B- c0 L* a; w( X+ q和前面的ID1一起,组成链接
  I4 o$ }* n9 ?7 R' Qhttp ://www.youtube.com/get_video?video_id=ID1&ID2,即是
1 w- R+ x- g8 Dhttp ://www.youtube.com/get_video?video_id=aPXlIjgaHQ4&t=OEgsToPDskLgGT5CRco2E2Rm4jt5pcLK
2 J+ j/ K5 U  z$ y$ `(现在这个链接无效)$ |* h9 T. q' J3 s! O. E/ q
把这个链接拷贝到浏览器地址栏,回车后是下载而不是播放这个视频,格式:.flv
( r% |7 g9 E$ R* }: Z# e) f每次浏览器打开同一视频后得到的ID2不一样,有有效时间限制
, C  a( h7 p1 F9 S9 u- n4 E$ ]% S2 S2 r. S0 J
youtube总是改动ID2位置,但基本原理一致
: ~# h6 L/ k5 }4 F) K' x8 b1 h% I  B! {
linux的下载script:youtube.sh
7 i$ I9 e8 D: e5 }1 j
#!/bin/sh
/ r; g9 D; q( z& ?+ ^8 H; B
8 D, i# l7 C" ]' X; x0 |  Wif [ "$#" != "1" ]; then
. L3 p: u6 b0 n1 R3 S1 L1 V   exit 64
$ S6 W5 b! G* X* ?& Q1 I+ O4 W8 Yfi
4 v3 D* {" \/ X* |! C8 K  n
* w; k& l. b1 ^! A5 eVID=$(echo "$1"|sed "s/.*v=\([^&]*\).*/\1/")( u/ d) x( o4 ^3 S5 A( r, D
URL1="http://www.youtube.com/watch?v=$VID"
  l+ ^9 g, e8 _1 D/ t  oPARAM="$(wget -q -O - "$URL1"|grep watch_fullscreen|cut -d '&' -f 8)"; I4 w( V2 Z& m/ ^4 `# M, c
URL2="http://www.youtube.com/get_video?video_id=$VID&$PARAM"
. Z0 ]/ Z9 |  ^0 wexec wget -O "$VID.flv" "$URL2"

6 [5 ^4 p- |7 i$ @" g5 K# M, l用法:4 t* h# S) K4 t4 e7 A! I$ O& i

! d6 J/ \( R2 q8 T9 X- B5 `./youtube.sh http ://www.youtube.com/watch?v=aPXlIjgaHQ4[/url], B$ ]5 q, {; v2 W/ c8 ?
得到 aPXlIjgaHQ4.flv,用ffmpeg可以转换成mp3 mp4 mpg等.- I+ i0 H4 ]( y' W
8 o/ R4 k% _! j$ @, K7 }! H
[ 本帖最后由 夜明砂 于 2008-10-2 12:25 编辑 ]
鲜花(0) 鸡蛋(0)
发表于 2008-10-2 12:53 | 显示全部楼层
有人专门搞了个网站,处理youtube下载问题,很傻瓜、很好用。+ s* i6 N' r7 x
http://www.techcrunch.com/get-youtube-movie/
鲜花(0) 鸡蛋(0)
发表于 2008-10-17 10:59 | 显示全部楼层
不错,不过用Maxthon的话,不用那么麻烦就行了,而且这个原理只适用于YouTube,你到break.com就不能用,所以还是用下载工具王道。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT-7, 2026-8-9 15:37 , Processed in 0.137926 second(s), 14 queries , Gzip On, APC On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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