TOP      Linux版ダウンローダー      Linux版コンバーター      Solaris版      作者



■ 「ゲッター画像」 -スクリプト編 4-





「スクリプト編」は、私的なページです。

誰にでも使いこなせるものではないのですが、なんとはなしに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版へ




このフリーソフトに関するご感想/ご質問は こちら までお送りください。           製作者ハンドルネーム Ikkyu(一求)

            


TOP      Linux版ダウンローダー      Linux版コンバーター      Solaris版      作者