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で画像や動画をダウンロードする方法

コメント