TOP Linux版ダウンローダー Linux版コンバーター Solaris版 作者
「スクリプト編」は、私的なページです。
誰にでも使いこなせるものではないのですが、なんとはなしにHP化してしまいました。
![]() Python(パイソン)版 Perl版、Ruby版に続き、Python版を作ってみました。 …URL・頭の数字・お尻の数字・拡張子などを、それぞれ質問に答えて入力していく仕様。 Perl版と同じく、文字コードは「UTF-8」仕様です。 ・Python版 (基本的にLinux用)・・・ 2005.08.15 ![]() ![]() 使い方 T.Linux(UNIX) 下記サイトを例にとり、ご説明いたしましょう。 http://www.helloziyi.us/Galleries/maybelline-beijing_4-28-2005.htm ![]() @ 上の「Python版」と書かれているところをクリックし、スクリプト(pywget.py)を(好きなところに)ダウンロードします。 A ターミナルを起動します。 B @でダウンロードしたのと同じディレクトリに跳びます。(cd なんたら) C (念のため)which wget[ENTER] …結果が返ってくれば、wgetがインストールされています。 D (念のため)python[ENTER] …>>> ← こんなプロンプトが出れば、Pythonがインストールされています。 「Ctrl」+「d」で、通常のコマンドラインに戻ります。 E chmod u+x pywget.py F さて、ここからが本番です。 ./pywget.py 例えば上のような形で入力し、[ENTER]。 …今度のやつは、これだけです。 引数なし。 注: which python とやって、/usr/bin/python 以外にPython本体のパスがあるようなら、 python pywget.py と入力してください。 その他、デフォルトではpathが通っていないUNIXもあるようですので、“python pywget.py” と打たれた方が、確かかも知れません G Please enter an URL(Hisshu_desu!): と聞いてきますので、“URL”を入力して[ENTER]キーを押します。 …上記サイトの場合なら、“http://www.helloziyi.us/Galleries/maybelline_beijing” で、[ENTER] (時々ダブルコーテーション“”までそのまま入力する人がいるので、注意。(笑)) H Please enter a Saisho_chi(Hisshu_desu!): と聞いてきますので、「頭の数字」を入力して[ENTER]キーを押します。 …上記サイトの場合、“10”と入れます。 I Please enter a Saidai_chi(Hisshu_desu!): と聞いてきますので、「お尻の数字」を入力して[ENTER]キーを押します。 …上記サイトの場合、“99”となります。 J Please enter a Zeroume_no_Keta(=>0?): と聞いてきますので、「0埋めの桁数」を指定して[ENTER]キーを押します。 …上記サイトの場合、“0”または“1”と入れます。 (「0埋め」をしない場合は、“0”または“1”を入力しますが、何も入力せずに[ENTER]キーを押 しますと、“0”を入れたのと同じことになります。) K Please enter a Kakuchoshi(=>jpg?): と聞いてきますので、「拡張子」(.ドットは入力の必要なし。)を指定して[ENTER]キーを押します。 …上記サイトの場合、“jpg”と入れることになるのですが、何も入力せずそのまま[ENTER]キー を押しますと、“jpg”が指定されるように組んでいます。 (こういうのを「デフォルト」と読んでいます。) “jpeg”、“pdf”、それから“JPG”などの場合は、その旨入力をすることになります。 L Please enter a Suji_Ikou_no_Mojiretsu(=>Null?): と聞いてきますので、「数字以降の文字列」がもしあれば、入力して[ENTER]キーを押します。 ないようでしたら、何も入力せずそのまま[ENTER]キーを押します。 …上記サイトの場合なら、そのまま[ENTER]ですね。 ・・・G〜Lまでの動きは「Ruby版」に図示しています。 そちらの方が解り易いです。 ![]() ↑F〜Lの手順を図示しています。 M すると、ダウンロードが開始されます。 ![]() …ダウンロード進行中イメージ。 N 以下のとおり、画像の取り込み成功。 画像はカレントディレクトリに溜まります。 ![]() …流れとしては、ざっとこんな感じです。 Linux使いの方はやらないと思いますが、画像ダウンロード中のターミナル(Windowsで言うところの 「DOS窓」)を、右上のバッテンをクリックで終了させるのはダメです。 以下は、バッテンをクリックした直後の結果。 ![]() ダウンロード中のターミナル画面を「×」クリックで消したところで、プロセスは残っています。 (ダウンロードも止まりません。) …もしも止めたい場合は、ターミナルで「Ctrl」+「c」を同時に押してください。 同様に、Windows用の「GETTER画像」も、DOS画面の右上「×」クリックでダウンロード中止させるのは良く ないです。 「GETTER画像」の「中止」もしくは「終了」ボタンを押すようにしてください。 (これらのボタンは、画面を消すだけでなくプロセスも終了するように作成しています…。) 『何で「中止ボタン」と「バッテンクリック」とで、違うの??』と仰る方もいるでしょうが…。 …コンピュータとは、「動作中のプログラム」=「必ず画面に現れている」という等式が、成り立たないものなのです。 画面の裏に隠れて動いているものも、あるということです。 Please enter a Kakuchoshi(=>jpg?): とか、Nyuryoku Machigai desu. Moippen Yarinaoshite Kudasai.とか…。 コードを書いていて、何だか昔の「BASIC」言語を思い出してしまいました。 日本語で書くようにしてみても良かったのですが、「Python」は日本語に対応している(らしい)とは言っても、 もともとはオランダ生まれの西洋言語ですし、「Ruby」ほどの日本語適性を有しておりません。 さまざまなOSで動作させることを念頭に置く以上、この際日本語は避けた方が賢明、と判断しました。 メッセージ文がローマ字で読みにくいのは、そのためです…。 今度のPython版は、ちょっとだけ「オブジェクト指向」入ってます…。 print文のところで、「ポリモーフィズム(多態性)」の仕組みを使用しています。 通常、print文は「画面に出力」する仕様となっていますが、ここでsysモジュールをインポートすること により、stdout.writeメソッドを、テキスト出力形式に変えています。 …『(むしろサブルーチンの方を個別にして、)メインルーチンを共通化する。』(「オブジェクト指向でなぜつくるのか」 (日経BP社))とは、よく言ったものですね・・・。 ■ abc版 ・・・ 気が向いたら作成します。 ![]() U.Windows ★ −(絶対!)必要要件− 1.WindowsXPもしくは2000であること(NTでもまあいいです。) 2.すでに「GETTER画像」Delphi版(もしくはVB版)がセットアップされていること。 3.「Python」をインストールすること。(手順は以下。) ■ Pythonインストール手順 @ ここのサイトへとびます。 A 「Python 2.*.* 日本語環境用インストーラ(Win32) 」 と書かれたところを右クリック→ リンク先を名前をつけて保存。 …この原稿を書いている今だったら、「Python 2.3.4 日本語環境用インストーラ(Win32) 」です。 “2.3.4”というのはバージョンですので、時期が来れば変わります。 B ダウンロードした「python234jp-20040927.exe」(例えば、こんな名前。)をダブルクリック。 インストール画面が出るので、何も考えんと「次へ」→「次へ」でOK。 C スタート→設定→コントロールパネル →システム→詳細→環境変数 →「システム環境変数(S)」の中の「Path」と書かれた行をクリックし、反転表示させる。 →「編集」ボタン。 →一番右端に、“;C:\python23”と入力。 (注意)Pythonのバージョンが上がった場合、ここが“;C:\python24”となったり“;C:\python25” となったりします。 ![]() →OKボタン→OKボタン→OKボタン。 …このあたり、「Windows2000」の場合。 「XP」だと少し違ったような気がします…。 D パソコンの再起動。 ■ ダウンロード・スクリプトの実行手順 @ ここ(「Windows専用Python版」)を右クリックし、スクリプト(winpyget.py)を任意のフォルダにダウンロードします。 …Linux用とWindows用スクリプトを別にしました。 上(2行上のものではなく、もっと上の方)のLinux用スクリプトでも、(仕組みの解る方なら)動かすことは 可能なのですが、Pathを通さなければならず(説明が)面倒なので、特別に「Windows用」を作ってみました。 ちなみに、文字コードは「Shift-JIS」です。 注:拡張子を「txt」にして(=テキスト形式で)ダウンロードしてはいけません。(winpyget.py.txtなど。) 必ず「winpyget.py」のままダウンロードしてください。 でないと動作しません。 (まあ…。 そもそも初心者には無理なバージョンなんで・・・。(^^;)) …この問題を回避する一手段としては、先に「Python」をインストールしてしまうことです。 スクリプトのダウンロードは、その後で行ってください。 A @でダウンロードし保存したファイル(のアイコン)を見る。 …下の絵のように、ファイルに蛇のマークが付いていれば、「Python」のインストールは成功です。(^^) ![]() B 「コマンドプロンプト」を立ち上げる。 C 「winpyget.py」を置いたディレクトリに移動。 cd なんたら・・・。(初心の方には無理です・・・。) C python winpyget.py[ENTER] ・・・やっぱダブルクリックだとうまくいかないことがあるので、上のようにお願いします。 あとはLinux版とまったく同じ。(Windows版のメッセージは、日本語に変更しました。) ![]() D 「数字以降の文字列」を入力してください。(=>Null?): のところまで入力したら(そのまま「Enter」も可。)「Enter」で、 ダウンロードが走り出します。 E あ、そうそう。 画像はどこに溜まるのかを書き忘れました。 「winplget.py」を置いたのと同じディレクトリです。 ![]() こんな感じ。 …Windowsの方々におかれましては、ボタンを押して動くプログラムの方がお好きでしょうけど・・・。 いいんです。 私はコレやってみたかったんですから。(スクリプトが使えると何かと便利なので。) …この度、“スクリプトファイルをダブルクリックする方式”を取りやめました。 このやり方ですと、画像のダウンロード先が別ディレクトリ(*1)になるケースが、出てま いります。 なので、予め「コマンドプロンプト」を立ち上げられ、「“cd なんたら”でスクリプトを落と されたディレクトリに移動」してください。 そして、スクリプトの実行は、コマンドラインから行ってください。 でも、言ったって意味分からんでしょうから、「Windows版」はおそらく廃止します。 「スクリプト版」はもともと、「Windows」用に作ったモノではないので・・・。 (*1)…要するに、皆様お手元のWindowsから「コマンドプロンプト」を起動されたとき の、「カレントディレクトリ」・・・だったりします。 しかしそれにしても、“文字コードの違い”とは鬱陶しいものだと痛感しました。 「Linux版」・「Windows版」などと使い分けていると、ややこしくて仕方が無い・・・。 以下、nkfの参考サイトを挙げておきます。 ![]() 「ユーザー名」「パスワード」が設定されたサイトからのダウンロードには、コレをお使いください。 本スクリプトは“.jpg”というより、“.wmv”などのダウンロードに、結構使えます。 注 : 本スクリプトは、アカウント入力の必要が無いダウンロードには使用しないでください。 (手順) 展開して使ってね。 ./pypass_get.py Please enter an URL_Prefix(Hisshu_desu!): ・・・・・URL(プレフィックス)を入力します。 Please enter a Saisho_chi(Hisshu_desu!): ・・・・・最小値 Please enter a Saidai_chi(Hisshu_desu!): ・・・・・最大値 Please enter a Zeroume_no_Keta(=>0?): ・・・・・0埋め桁数 Please enter a Suffix(=>.jpg?): ・・・・・サフィックス(.ドットを忘れないでください。) Please enter a User(Hisshu_desu!): ・・・・・ユーザー名(必須です。) アカウント入力の必要が無いダウンロードには使用しないでください。 Please enter a Password(Hisshu_desu!): ・・・・・パスワード(必須です。) アカウント入力の必要が無いダウンロードには使用しないでください。 Q&A 1.『どんなときに使用するのですか?』 ・・・そのご質問をされる方には、必要の無い代物と申せます。 身も蓋も無い返答で恐縮ですが、使える方には結構重宝しそうなので作りました。 分かる方のみご利用ください。 2.『Windowsでも使えるのですか?』 ・・・かなり工夫しないと使えません。(Linux用です。文字コードはUTF-8です。) その後、「pypass_get.py」より、もうちょっとイイのを作りました。 ![]() V.Mac 私はよく存じ上げませんが、「]」だけでなく「9」以下でも使用出来るようです。 (「Python」の源流を辿っていきますと、どうやら黎明期はMacで動かしていたようですから。) ターミナルを起動(Windows使いの方には、ここまでで一苦労でしょうが、)し、wget -hを実行してみてください。 結果が返ってくるようなら、上記Linuxのパターンと同様の手順で、操作を行うことが出来ると思います。 ★Macも文字コードが異なりますので、それがどうなるかは動作検証してみないことには分かりません。 (家にMacが無いので検証できず。) ![]() Perl版へ Ruby版へ Python版へ ![]() |