WEBサイトにはrequests経由での画像へのアクセスを禁止しているところがある場合、Seleniumを使用して右クリックで画像のダウンロードまでを自動化する必要があります。
この記事ではSelenium4を使用してウェブページ上の画像を右クリックからダウンロードする方法を紹介します
環境設定
Seleniumのインストール
コマンドプロンプトまたはターミナルを開き、以下のコマンドを実行してSeleniumをインストールします。
$pip install selenium
画像をダウンロードするスクリプト
以下のスクリプトは、Seleniumを使用して特定のウェブページから画像を右クリックし、ダウンロードする方法を示しています。この例では、シンプルな構造を採用していますが、実際の使用ではウェブページの構造に応じて調整が必要です。
import time from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.chrome.options import Options # ブラウザを起動 driver = webdriver.Chrome() IMAGE_URL = "http://img.alicdn.com/imgextra/i4/2214718280414/O1CN01Ufw4r41Eves4Xcirl_!!2214718280414.jpg" # ダウンロード用画像を表示 driver.get(IMAGE_URL) # ダウンロード実行用スクリプトを生成&実行 script_str = """ window.URL = window.URL || window.webkitURL; var xhr = new XMLHttpRequest(), a = document.createElement('a'), file; xhr.open('GET', '""" + IMAGE_URL + """', true); xhr.responseType = 'blob'; xhr.onload = function () { file = new Blob([xhr.response], { type : 'application/octet-stream' }); a.href = window.URL.createObjectURL(file); a.download = 'someName.jpg'; a.click(); }; xhr.send(); """ driver.execute_script(script_str) driver.quit()
関連記事:【Python】Seleniumでサイトのログイン情報を保存する方法
関連記事:【Python】requestsで画像や動画をダウンロードする方法
コメント