TOP Linux版ダウンローダー Linux版コンバーター Solaris版 作者
「スクリプト編」は、私的なページです。
誰にでも使いこなせるものではないのですが、なんとはなしにHP化してしまいました。
![]() アカウント機能付きダウンローダ 「アカウント機能」(ユーザ名およびパスワードの認証)を行うスクリプトです。Rubyで作成しました。 標準は「UTF-8」ですが、「EUC」仕様および「Mac」仕様を設けてみました。 ・(基本的にLinux用)・・・2006.02.17 (02.19 Mac版を再改訂) → ![]() 注意:本スクリプトは、Windowsではご使用になれません。 ![]() 動作要件 ・Rubyがインストールされていること。 …「Debian」など、「Ruby」が標準で入っていないOSもあります。 ・wgetがインストールされていること。 ・(「Mac版」は、「curl」がインストールされていること。) ![]() 使い方 1. 「arrgetpw.tar.gz」を展開する。 2. 動画(もしくは静止画)をダウンロードしたいディレクトリに、「arrgetpw.rb」を置く。 3. 上記スクリプトに実行権限が付いていないようであれば、付ける。 4. ./arrgetpw.rb ![]() 以下、上の画面イメージに基づきご説明します。 「URL-prefix」・・・URLプレフィックスを入力します。(「ダンドーガA」で言うところの「URL(prefix)」に相当。) 「URL-suffix」・・・URLサフィックスを入力します。(「ダンドーガA」で言うところの「suffix」に相当。) 注1)“.”(ドット)を忘れないでください。 注2)何も入力しなければ、“.wmv”が入力されたものと解釈します。 「Username」・・・ユーザ名を入力します。(「ダンドーガA」で言うところの「user」に相当。) 注)何も入力しなければ「ユーザ名を入力しない」、つまり「ユーザ認証しない」ものと解釈します。 「Password」・・・パスワードを入力します。(「ダンドーガA」で言うところの「pass」に相当。) 注1)何も入力しなければ「パスワード入力しない」、つまり「ユーザ認証しない」ものと解釈します。 注2)「Username」に入力を行わなかった場合、「Password」への入力を行わないでください。 「Array_word」・・・配列変数に相当する部分を入力します。 (「ダンドーガA」で言うところの「変動文字列」に相当。) 注)「ダンドーガA」には「変動文字列」の入力欄が、「1」から「10」まで計10個ありますが、 本スクリプトの場合は、実質的に半無限に登録出来ます。 上記画面の例でご説明しますと、最初に“368”という「変動文字列」を入力し、「Enter」キー を押しました。 続いて今度は、“345”という「変動文字列」を入力し、「Enter」しています。 このような調子で、延々「変動文字列」を登録していくことが出来ます。 5. もう登録すべき「変動文字列」が無い、となったところで、「Ctrl」+「d」キーを押してください。 ダウンロードが開始されます。 (「ダンドーガA」参照イメージ) ![]() ![]() 今度は、ユーザ認証を行わないダウンロードパターンを図示します。 ![]() Linux版を使われる方には、おそらくご説明は不要でしょう・・・。 ちなみに、上記の例では動画を2つしか設定しておりませんが、理論上は無限に動画を 登録することが出来ます。 ![]() EUC版 「arrgetpw.tar.gz」より展開されるファイルの中に、「arrgetpw_euc.rb」があると思います。 これは、「EUC」仕様です。 「Fedora Core」や「RedHat Enterprise」等が、「UTF-8」を標準仕様として久しいですが、まだまだ 「EUC」のOSも少なくないのが現状です。 そのような観点を踏まえまして、「EUC」版を用意しました。 「Debian」にて動作検証を済ませております。 ・・・尤も、「arrgetpw_euc.rb」でも「arrgetpw.rb」でも、大概のLinuxならどちらでも動くようですけどね。 (使用例1) ![]() …本スクリプトのウリは、動画の個数が多ければ多いほど便利な点です。 上記の例では、動画を一挙に16個ダウンロードします。 よく見ると、「Array_word」の一行目だけが「d356」と、一見余分な“d”が付いています。 なぜ“d”を入れているのかについては、既に「ダンドーガA」のページに記載済みでございます。 分からない方は、「ダンドーガA」の注意事項を再度ご確認ください。 (使用例2) ![]() …某「○1」サイトばかり例に挙げておりましたので、他のサイトも少しは…。(^^) 上記の「Array_word」入力例を、よくご覧ください。 お分かりでしょうか? 「URL-prefix」と「URL-suffix」にはURL全体のうち“固定”部分を、「Array_word」には“可変”部分を入力するのです。 そいでもって、「URL-prefix」+「Array_word」+「URL-suffix」で、動画URLが完成すればOKです。 …結局、上の二行を飲み込んでくだされば、本ツールはもう簡単です。 なお、『具体的にどのサイトが、「ダンドーガ」のダウンロードに対応しているのか?』についてですが…。 ・・・済みません。 その点につきましては、敢えて触れないことにいたします。 (実際、私もありとあらゆるところを、しらみつぶしに当たってみる気は無いですし。(笑)) 皆様の方で、いろいろお試しくださいませ。 ![]() 未来版 「arrgetpw.tar.gz」より展開されるファイルの中に、「arrgetpw_future.rb」があると思います。 このスクリプトは、近未来に必要となるかも知れないと思い(笑)、作成しました。 「arrgetpw.rb」が使えなくなった時は、こいつをご利用ください。 ・・・なぜこんなものを用意したのかと申しますと、それは以下の画面をご覧ください。 ![]() 上記は「CentOS」に入っている「wget」コマンドの仕様なのですが、バージョンが“1.10” と、かなり新しいものになっています。 この「最新バージョン」の「wget」コマンドは、オプションがこれまでの「wget」と、若干異な るのです…。 「CentOS」に入っております“バージョン1.10.1”は、新オプションでも旧オプションでも、どち らでも動作するようになっているのですが、ひょっとするとこの仕様は単に「移行期間」にお ける“暫定措置”に過ぎず、将来のバージョン(例えば1.11など。)では「旧オプション」が使え なくなるものかも知れません。 その辺りの情報がはっきりしない以上、「arrgetpw_future.rb」(新オプション版)を用意するし かない、と考えました次第です。 なお、これを逆の観点から申しますと、「arrgetpw_future.rb」では動作しないLinux(およびUNIX) が、現状では多数存在するかと思われます…。 参考(Debianのwgetバージョンとオプション) ![]() 尤も、将来は「wget」より(下に示しました)「curl」の方が、より浸透しているかも知れません。 その時は、「arrgetpw_future.rb」ではなく「downdoga.rb」をご使用ください。 …今の説明。 素人さんには何を言っているのか全くわからんでしょうけど。(笑) 要するに、「将来のこと」について語っているので、私にだってそんなもの、どうなっているか 分かるわけない、ということです…。) ![]() MacOS X(厳密には「Tiger」)版 ・・・02.19改訂しました。 「arrgetpw.tar.gz」より展開されるファイルの中に、「downdoga.rb」があると思います。 こいつは「Mac版」です。 私はMacを所有していないのですが、Macの仕様について調べました結果、 ・文字コードはユーザによって設定変更が可能。 ・Rubyは標準搭載。(/usr/bin/ruby) ・現行「Tiger」は、「wget」が標準ではなく「curl」が標準搭載されている。 (但し、「Tiger」の場合。 古い「MacOS X」は別です…。) 以上、三点が判明いたしました。 この内容に基づき、文字コードを「UTF-8」、ダウンロードツールを「curl」にして作成したのが「Mac版」です。 (使い方) 1. Macで「ターミナル」を立ち上げる。 …Macは一見、初心者ライクのインターフェースを備えています。 よって「ターミナル」メニューは、一般ユ ーザがあまりさわらないようなところに、隠れています。 私もどこだったか覚えていませんが、あちこち探せば「ターミナル」メニューがあるはずです。 2. 上記ファイルを落とし展開した後、カレント・ディレクトリに「downdoga.rb」を置く。 3. 実行権が無いようなら、付ける。 4. ./downdoga.rb 5. あとは大体、「arrgetpw.rb」の手順と同じ ![]() …「Mac」が無いので「CentOS」で実演。 但し、一点だけ違う点がありまして、「Array_word」をもう登録する必要がなくなったときに、“quit”もしく は“exit”と入力して「ENTER」(じゃない…。「Return」でしたか…。)します。 (「Control」+「d」ではない!ということに、注意してください。) なぜこうしたのかと言いますと、『Macでは「Control」+「d」が利かないのではないか?』と思ったからです。 (Linuxなど、他のOSで「downdoga.rb」を使われる際でも、このルールは同様です。) なお、コマンドは“quit”でも“exit”でもどちらでも構いません。 どちらの方が良いとか、二つのコマンドで 微妙にその後の動きが異なる、などといったことは一切ございません。 尤も、作者が「Mac」を所有していない為、本当にこれで動くのかどうか一度も試してみたことがありません。(^^) (多分、動くと思いますけどネ。) たまたま、「CentOS ver.4.2」にも「curl」コマンドが搭載されておりましたので、「downdoga.rb」 を試してみました。 全く問題なく動作しました。 (MacOSX「Tiger」のみならず、最新の「FedoraCore」および最新の「RHEL」でも、おそらくこいつが 動くでしょう…。) ![]() …ちなみに、「MacOS X 10.4 Tiger」における「curl」はver.7.13.1でした。 (ヨドバシの兄さん! 俺はcurlのバージョンを見ていただけなんだ…。(笑)) ![]() ↑「curl」は「0埋め」にも対応しているようです…。 ワンライナーで、ここまで出来ます。 ココに、「Windows」版の「curl」を発見しました。 「ゲッター画像」もこいつで作り直そうかな・・・。(^^) (なお、「curl」はプログラミング言語の「Curl」とは関係ございません。 そのことを言い表す意味で、 特に「cURL」と表記することもあるようです…。) ![]() …Windows版「Curl」の使用中イメージ。 一番左の数値が、ダウンロード進捗率です。 上の例で言うと、「全体の23%までダウンロード進行中」 という意味になります。 こいつがあれば、ちょっと使える人なら「ゲッター画像」が無くても大して不便を感じないですねぇ! ![]() …あれ? ・・・あ、そうか。 例によって「oned380.wmv」と、“d”が付くパターンですね。 (ひょっとしてこのサイト。 対「連番型ダウンローダ」対策の一環で、こんなファイル名パターンを採用しているのかも知れません。) こいつは、正規表現で処理できるのか・・・? ![]() どうも上手くいかないようです…。(対応しているのは「連番ダウンロード」だけみたい。) やはり(「ダンドーガ」や)本スクリプトがあった方が、便利なようでした。(^^) ![]() FAQ Q1 「プレフィックス(Prefix)」と「サフィックス(Suffix)」の意味が分かりません。 意味不明の用語ばかり、使わないでください! A1 …真に申し訳ございません。 苦しい言い訳にはなりますが、これらの用語に該当する「うまい日本語」が見当たらないのです。 敢えて日本語に訳すなら、「プレフィックス(Prefix)」は“接頭辞”、「サフィックス(Suffix)」が“接尾辞” といったところに、なりますでしょうか。 「山田太郎」という人がいたとします。 この人のプレフィックスは“山田”、サフィックスが“太郎”です。 このようなご説明が、“取っ掛かり”としては良いのかも知れません。 例えば、以下のようなURL(アドレス)があったとします。 http://www.hogehoge.com/images/movie/digest/hoge345.wmv http://www.hogehoge.com/images/movie/digest/hoge324.wmv http://www.hogehoge.com/images/movie/digest/hoge303.wmv これらをまずは、数学で言う因数分解のような感じで、共通項を取り出してみましょう! (とは申しましても、実際に因数分解する訳ではないのでご安心を!) 上の3つのアドレスをよ〜くご覧ください。 共通項が見えてくるはずです。 どうですか…? そうですね。 共通項は、 http://www.hogehoge.com/images/movie/digest/hoge と、 .wmv になります。 残るは“345”とか“324”とか“303”だとか…、これらの要素は共通ではありません。 それぞれ異なっています。 ここではまず、「異なっている要素」を一旦無視してください。 そして、共通項に着目するのです。 「共通項」のうち、前半部分(http://www.hogehoge.com/images/movie/digest/hoge)に ここでは「プレフィックス」という用語を当てています。 同時に、「共通項」のうち後半部分(.wmv)に対し、ここでは「サフィックス」という用語を当て ています。 どうでしょうか? お分かりいただけましたか? 一つ、設定例を。 ![]() 上記画面の例では、「suffix」を“dmb.wmv”にしています。 (「suffix」の形式は、なにも「ドット+拡張子」に限るわけでは無いのです。) あと…、「prefix」の一番後ろに“p”を入力し、「Array_word」(可変文字列)に“gd001”・“gd003”・ “jd001”と入力しています。 この設定を例えば、「prefix」一番後ろの“p”を省略し、代わりに「Array_word」を“pgd001”・ “pgd003”・“pjd001”のように変えてみられても良いです。(どちらの設定も有効です。) この理屈、お分かりいただけますでしょうか? (分からなければ無視してください。 無視していただいても、一応は使えます。) ![]() ![]() |
TOP Linux版ダウンローダー Linux版コンバーター Solaris版 作者