*情報 作者名:Craving Explorer研究家 引用元:なでしこプログラム掲示板「YouTubeダウンロード」>http://nade.jp-pro.net/bbs/bbs2/cbbs.cgi?mode=al2&namber=1206 *[[ダウンロード>http://www26.atwiki.jp/isoroku_be/?cmd=upload&act=open&page=%E2%97%8FYoTube%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89&file=GetYoutube.nako]] *概要 YouTubeの動画をダウンロードできます *サンプル 本体の後ろに置いてください # サンプル # スカイツリーの動画をデスクトップにダウンロードします。 URL1=「http://www.youtube.com/watch?v=jWq29f0NpnQ」 もし、URL1がYouYubeURLならば VIDEO_URL=URL1からGetYoutube TITLE=YT_TITLEを文字列ファイル名変換 FILE=デスクトップ&TITLE&YT_拡張子 VIDEO_URLをFILEへHTTPダウンロード *本体 #外部から読み書きできる変数 YT_MAPとは配列 YT_TITLEとは文字列 YT_拡張子とは文字列 品質優先度とは配列=「small,medium,large,hd720,hd1080,4k」を「,」で区切る 拡張子優先度とは配列=「.flv,.webm,.mp4」を「,」で区切る 立体_ITAGとは配列=「84,82」を「,」で区切る ●YouYubeURL(URLが) URLを『http:\/\/(?:w{3}\.)?youtube\.com\/watch([?&#].+)』で正規表現マッチ もし、それ≠空ならば1で戻る 0で戻る ●GetYoutube(URLから|URLの|URLで) URLを『http:\/\/(?:w{3}\.)?youtube\.com\/watch[?&#](.+)』で正規表現マッチ Parameterとはハッシュ=抽出文字列[0]を「&」で区切る VIDとは文字列=Parameter@「v」 もし、VID=空ならば0で戻る#VID値の取得に失敗 YouTubeURLとは文字列=『http://www.youtube.com/watch?v=』&VID DATAとは文字列 エラー無視 DATA=YouTubeURLのHTTPデータ取得し、SJIS変換 もし、DATA=空ならば0で戻る#ページの取得に失敗 DATAを『<meta name="title" content="([^"]+)"』で正規表現マッチ YT_TITLE=抽出文字列[0] DATAの「embed」から「flashvars」をタグ属性取得し、HTMLエンティティ復号 EMBED_DATAとはハッシュ=それを「&」で区切る EMBED_DATAのハッシュキー列挙で反復 EMBED_DATA@対象=EMBED_DATA@対象をURLデコード、SJIS変換 STREAM_MAP=EMBED_DATA@「url_encoded_fmt_stream_map」を「,」で区切る ALL_MAPとは配列 STREAM_MAPで反復 MAP_DATAとはハッシュ=対象を「&」で区切る MAP_DATAのハッシュキー列挙で反復 MAP_DATA@対象=MAP_DATA@対象をURLデコード MAP_DATA@「type」を「video\/([^;]+)」で正規表現マッチ 抽出文字列[0]で条件分岐 「webm」ならばMAP_DATA@「extention」=「.webm」 「mp4」ならばMAP_DATA@「extention」=「.mp4」 「x-flv」ならばMAP_DATA@「extention」=「.flv」 DATA配列とは配列; DATA配列にMAP_DATA@「itag」を配列追加 DATA配列にMAP_DATA@「quality」を配列追加 DATA配列にMAP_DATA@「extention」を配列追加 DATA配列にMAP_DATA@「url」を配列追加 ALL_MAPにDATA配列を配列追加 ALL_MAPを配列ソート ALL_MAPを配列逆順;ALL_MAPを「YT品質ソート」で配列カスタムソート ALL_MAPを配列逆順;ALL_MAPを「YT拡張子ソート」で配列カスタムソート ALL_MAPを配列逆順;ALL_MAPを「YT3D除去ソート」で配列カスタムソート YT_MAP=ALL_MAP;YT_拡張子=ALL_MAP[0,2] ALL_MAP[0,3]で戻る ●YT品質ソート _Aとは数値=A[1]を品質優先度で配列検索 _Bとは数値=B[1]を品質優先度で配列検索 (_B-_A)で戻る ●YT拡張子ソート _Aとは数値=A[2]を拡張子優先度で配列検索 _Bとは数値=B[2]を拡張子優先度で配列検索 (_B-_A)で戻る ●YT3D除去ソート _Aとは数値=A[0]を立体_ITAGで配列検索 _Bとは数値=B[0]を立体_ITAGで配列検索 (_A-_B)で戻る *ITag一覧 参考に。内容の確証性はありません 画質 コンテナ 映像コーデック 音声コーデック 最大解像度 5 標準画質 FLV H.263 MP3 320 ×240 6 高画質 FLV H.263 MP3 480 ×360 13 携帯 3GP H.263/AMR AMR 176 ×144 17 携帯 3GP MPEG-4 Part 2 AAC 176 ×144 18 360p MP4 MPEG-4 AVC(H.264) AAC 640 ×360 22 HD720 MP4 MPEG-4 AVC(H.264) AAC 1280×720 34 480p FLV MPEG-4 AVC(H.264) AAC 854 ×480 35 480p FLV MPEG-4 AVC(H.264) AAC 854 ×480 37 HD1080 MP4 MPEG-4 AVC(H.264) AAC 1920×1080 38 4k MP4 MPEG-4 AVC(H.264) AAC 4096×2304 43 360p WEBM VP8 Vorbis 640 ×360 44 480p WEBM VP8 Vorbis 854 ×480 45 HD720 WEBM VP8 Vorbis 1280×720 59 不明 78 不明 82 360p3D MP4 MPEG-4 AVC(H.264) AAC 640 ×360 84 720p3D MP4 MPEG-4 AVC(H.264) AAC 1280×720 ---- 総合:&counter() 今日:&counter(today)人 昨日:&counter(yesterday)人 #comment()
下から選んでください: