渋谷ほととぎす通信

完全趣味でやってるUnityメモ。説明できないところを説明できるようにするための個人ブログ。昨日の自分より少しでも大きくなれるように。。。 ※所属団体とは一切関係がありません

Pythonによるファイルダウンロード


前回記事からの続きです。
最低限の機械学習の知識を手に入れるため勉強中。


Pythonによるスクレイピング&機械学習を読み始めると、まずPythonでファイルをダウンロードしてみよう的な基礎的な内容が始まります。

僕はPython初心者なので新しい事を知れて楽しいです。
本記事は上記書籍の1-1「データダウンロード」の備忘録です。

ファイルの直ダウンロード

urllib.request.urlretrieve(ファイル名, 保存ファイル名)とするとファイルを直にダウンロード出来ます。

ファイルをメモリ上にダウンロード

urlopenでメモリ上にファイルをダウンロードした後、それをファイルに書き込むという処理になっています。

ここで出てくる with ~ as構文ですが、C#で言うusingのようなものだと認識しています。
処理を抜けると自動的にdispose、closeしてくれるため、コードをスッキリ書くことができそうです。

参考 : with構文(Python) - Qiita

URLにクエリパラメータを付ける

urlencode関数を使うとJSON形式のvaluesをクエリパラメータ形式に変換し、下記のように出力してくれます。便利です。

url : http://test.php?hoge=01234&fuga=piyo

コマンドラインから引数取得

sys.argv[1]でコマンドラインの引数を取得できます。

ちなみにsys.argv[0]とすると実行したファイル名を取得できます。

最後に

Pythonをほぼ初めて書いてみた感想としてはブレースがなくて、インデント管理された文法は見た目スッキリしていてとても書きやすく読みやすいです。
urllibには豊富な機能が入ってそうなので、調べてみるのも楽しそう。

ちなみにエディタはVisualStudioCodeを使っていますが、コード補完されるのでイイ感じ。

環境

  • Python 3.6.3
  • macOS 10.12.6