SeleniumでWebサイトの画像保存を自動化する

スポンサーリンク

ドライバとライブラリをインストールする

!apt install chromium-chromedriver
!pip install -U requests
!pip install selenium

ライブラリを読み込む

from selenium import webdriver
from selenium.webdriver.common.by import By
import time as t
import requests #HTTP通信ライブラリ
import io #IOストリームライブラリ
from PIL import Image #画像処理ライブラリ

ドライバにオプションを設定する

options=webdriver.ChromeOptions()
options.add_argument("--headless")
options.add_argument("--no-sandbox")
driver=webdriver.Chrome(options=options)

URLからブラウザを起動する

url="xxxxx" #URLを指定
driver.get(url)
t.sleep(5)

img要素を取得して画像を保存する

imgs=driver.find_elements(By.TAG_NAME, "img") #img要素を取得

for i, img in enumerate(imgs):
  url=img.get_attribute("src") #画像パスを取得
  print(url)

  if ".svg" not in url: #svgファイルは無視
    f=io.BytesIO(requests.get(url).content) #バイト列を画像に変換
    img=Image.open(f) #画像を開く
    img.save(f"img{i}.png") #画像をpngで保存
    t.sleep(5)
Python
スポンサーリンク
シェアする
cccをフォローする

コメント

タイトルとURLをコピーしました