diadia

興味があることをやってみる。自分のメモを残しておきます。

python:画像の保存

どうすれば画像を保存できるか書いておく。

データの種類

画像の保存にはバイナリタイプのデータが求められる。urllib3でurlにアクセスするとデフォルトでバイナリタイプの戻り値なので、画像を保存するには向いている。

保存方法

保存方法はファイルをバイナリ形式でバイナリデータを書き込めばよい。したがって以下のような形をとる。

# requestsを使った場合
import requests

res = requests.get(url).content
with open(IMAGE_FILE, "wb") as file:
    file.write(res)

# urllib3を使った場合    
import urllib3 
res = urllib3.urlopen(url)
with open(IMAGE_FILE, "wb") as file:
    file.write(res)

seleniumでもバイナリデータで情報を取得できるので画像取得はできる。 https://kurozumi.github.io/selenium-python/api.html#selenium.webdriver.remote.webdriver.WebDriver.get_screenshot_as_png