複数の画像ファイルをダウンロードするプログラムを作って、ダウンロード用の「フォルダ」を作り、そこにまとめて書き出すプログラムを作ってみましょう。
*PathのPは大文字です。
*pは小文字です。
解説
import requests | 事前にコマンドプロンプトでインストールしたインターネットにアクセス命令する外部ライブラリ「requests」、これをimportします。 |
from pathlib import Path | パソコン上にフォルダを作ったり、そのフォルダにいろいろアクセスしたりするには「Path」を使います。Pathは、標準ライブラリでpathlibというパッケージに入っているのでこのようにimportします。尚、pathlibのpは小文字で、PathのPは大文字です。 |
out_folder = Path(“download”) | Pathでdownloadという名の保存用フォルダを作り、それを変数out_folderとします。尚、Pは大文字です。 |
out_folder.mkdir(exist_ok=True) | そしてout_folder.mkdir(exist_ok=True)でフォルダが作られます。尚、TrueのTは大文字です。小文字だとエラーになります。 |
image_url = “https://www.roadtoupload.com/学びファイル/python2年生/IMG_20201024_160706.jpg”
| 変数image_urlに解析するWEBページアドレスを代入 |
imgdata = requests.get(image_url) | requests.get(image_url)でWEBページのデータを取得し、変数imgdataとします。 |
filename = image_url.split(“/”)[-1] | 保存するときのファイル名が必要なので、URLからファイル名を取り出します。
まずは、URLを「/」で分割します。このバラバラにしたURLの一番最後の値がファイル名です。「-1」は後ろから1番目を指す。それを変数filenameとします。 |
out_path = out_folder.joinpath(filename) | フォルダ内のファイルにアクセスするパスをout_folder.joinpath(filename)で作り、それを変数out_pathとします。 |
with open(out_path, mode=”wb”)as f: | テキストファイルに書き込むwith openを使い、また画像ファイルはバイナリーファイルなのでファイルを開くときに「mode=”wb”」と指定します。 |
f.write(imgdata.content) | インデントし、インターネットから取得したデータを書き込みます。さらにバイナリーデータなので「.content」を使って書き出します。 |
実行結果
デスクトップにファイルが作られています。
フォルダの中を確認するとファイルがダウンロードが書き出されています。
*尚、ここではバージョン「Python 3.10.1」を使用しています。
この本から引用、参考に学び、完成させることができました。しかし、ここではプログラミング初心者の私が詳しく解説することは、おこがましく、難しく出来ません(ToT)
その点、この本では丁寧な解説が載っていますので、解説とともにコードを書き、完成させればより深く学ぶことができます(^.^)、実際、初心者の私でもわかりやすかったです。身に付け消えないスキルが2,000円程ならコスパよく、買っておいてよかったと満足してます。
わからないことはプロフェッショナルから学ぶのが一番
オンラインで受講ができるスクールですので、全国どこからでも。