Pythonを勉強してみる人の日記

仕事に元気を奪われながらなんとか続けてみたいと思う限り

Python16日目① 画像をサイトから全部保存する

こんにちは。

このブログを書き始めてから初めて「こんにちは」と書いた気がします。

いつも夕方から夜にかけて開始して、初めてすぐ眠くなるというクズムーブをしていました。

大人には週1日何も予定を入れない日が必要だ…と思う今日この頃です。

Python16日目始めます。

今日は休日なので沢山進みますように・・・

 

今日はアクセスしたURLから画像をダウンロードするという内容です。

前回は「open(filename,"w")」という部分があり「書き込みモードで開く」という意味だったようですが、今回画像を開く際には「mode="wb"」とするそうです。

また、「src」属性は「外部から読み込むファイルの場所」を示すための属性とのこと。

 

サイトのURLから画像を探すのは、「img」タグを検索することで行うようです。

for element in soup.find_all("img")

そのあと「src属性」を取得すると、画像がどれかを見つけられるらしい(おそらく)

element.get("src")

 

今日の章で面白かったのは、ファイルの中で最後の「/」の直前までの部分を取り出すパート。

URLを「/」で区切られたパーツごとに分割した後、「最後から1つ目」を「-1」で指定するそうです。

url.split("/")[-1]

とすると、URLを「/」がある場所で分割、最後のパーツを取り出すことができるらしい。

何か他の場面でも使えそうな気がします。なにも思いつきはしないのですが。

 

もう1つ、今日新しく出てきてこれからも良く使いそうなプログラムがありました。

ディレクトリを作るプログラムです。

mkdir(exist_ok=True)

そのディレクトリ名が存在しなければ、新しく作る!というものだそうです。

 

そして次のページに今日一番大事なことが書いてありました。

「アクセスのし過ぎで相手のサーバーに迷惑をかけないこと」

自分のお勉強で何気なく企業のサイトにアクセスし、サーバー落ち+大損害+賠償、なんてことになったらと思うと震え上がってしまいます。気を付けなければ…

それを防ぐには、命令後に一定の時間プログラムを一時停止させればよいようです。

time.sleep(1)

とすると「1秒一時停止」ということになるらしい。

 

さて、1つの章が終わったのでいったんここまでで終わりにします。

始めに「こんにちは」と書いたにもかかわらずいまは22時…

大人にはお昼寝も大事ということです。

 

次の章では、なんだかすごく面白そうな「pandas」という、データを扱えるものを勉強してみます。

16日目②も頑張ります。