5月 27th, 2008
AS2 でyoutubeパース
Posted by
KOBAYSU in
as2.0
あるベテランCプログラマーの方が
「正規表現が内部的にどれくらい効率悪い処理をしてるかわかってるの?」
といったかどうかは知りませんがAS2.0では正規表現がありません。
男だったらString.splitで気合でパース。
基本的には中のjsのURL記述から必要なパラメータをとってきているのですが、パラメータの順番がころころ変わるので変わっても対応できるようにしました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | function parseYoutubeHTML(htmlString:String):String { var line:String = str.split('watch_fullscreen')[1].split(';')[0]; var ar:Array = line.split('&'); var video_id:String; var t:String; var l:String; var i:Number = ar.length; var b:Boolean = true; while( i-- > 0 && b ) { b = video_id == undefined || t == undefined || l == undefined ; if(ar[i].indexOf('video_id=')==0) { video_id = ar[i].split('=')[1]; continue; } if(ar[i].indexOf('t=')==0) { t = ar[i].split('=')[1]; continue; } if(ar[i].indexOf('l=')==0) { l = ar[i].split('=')[1]; continue; } } //youtubeの定理 var url:String = 'http://youtube.com/get_video.php?' + 'video_id=' + video_id + '&l=' + l + '&l&t=' + t; return url; } |
これそのままJSでも動くかもしれないので誰かやってみてください。
