はじめるきっかけ
HTMLでWEBサイトを作ったり、ExcelVBAでマクロを組んだりはたまにやっていましたが、つい先日AI関係でPythonを知って、始めてみようかなと思いました。
もうPCにはAnaconda3が入ってます!
転職はしてもしなくても、勉強しておいて損はないかな?という気持ちと、スキルがあれば副業もできるし、定年後も遊べるし、面白そうだなという気持ちです。
必死さはないのと、ブログにまとめながらなので、スピードはすごく遅いと思います。
WEBスクレイピングをしたい!
Jupyter Notebook はAIのときに入れてあったので問題なし。
とりあえず、AIのときにデータサイエンティスト関係の本は買って、放置してありますが、今回はWEBスクレイピングということで、また懲りずに本を買ってきました。
今回買ったのは、「Pythonによるスクレイピング&機械学習 開発テクニック」
1-1 urllibを使ってみる
#ライブラリー取り込み
import urllib.request
#URLと保存パスを指定
url="https://uta.pw/shodou/img/28/214.png"
savename="test.png"
#ダウンロード
urllib.request.urlretrieve(url,savename)
print("保存しました")
→ 保存しました。
ん?どこに?
と思ったら、 Jupyter Notebook のこのファイルが保存されているところに出来てました。
#はコメントね。理解。
importは「urllib.request」というライブラリをインポートしますよ。使いますよ。ってことですね。
ライブラリはurllibかな。.requestは調べたところモジュールでした。
「ライブラリ.モジュール」
urllibの中にはモジュールがいくつもあるけど、requestだけを使いますよってことかな?
urlとsavenameは変数ってことですよね。
インポートした「urllib.request」でurlretrieve()・・・関数?
「urllib.request.urlretrieve」 は 「ライブラリ.モジュール.関数」
ライブラリとモジュールと関数はあとで調べておこう。。。
経験上、あとで躓きそうな部分かもしれない。
保存されたファイルは「test.png」だったので「214.png」を参照して「test.png」で保存しなさいという関数。
urlopenを使ってファイルを保存
import urllib.request
#URLと保存パスを指定
url="https://uta.pw/shodou/img/28/214.png"
savename="test.png"
#ダウンロード
mem=urllib.request.urlopen(url).read()
#ファイルへ保存
with open(savename,mode="wb")as f:
f.write(mem)
print("保存しました")
urlopen(url).はファイルを開きなさいですよね。開いて読むってこと?
え~めんどくさい子。本を読みなさいって言ったら開いて読んでくれたら良いのに。
readはメソッドだ。
「ライブラリ.モジュール.関数.メソッド」
ちょっとまて。memは変数か?だな。
withはわからんが、VBAのwithと同じかな。感覚でしか覚えていない。
openでwbモードで開くを意味している。
wは書き込みモード、bはバイナリーモード。
で、「as f:」は?
f.write(mem)だから、fはオブジェクトか?
とりあえず画像は保存されたけど、構文でいくつかわからないところがあるので、次回に引き継ぎます。
ライブラリ.モジュール.関数.メソッド
with
as f: