python スクレイピング その6
はじめに
今回は巨人の藤田元司監督のWikiページを画像でコピーする処理を作成した。
準備
- sele_headless.py
from selenium import webdriver from selenium.webdriver.chrome.options import Options from webdriver_manager.chrome import ChromeDriverManager import time url = 'https://ja.wikipedia.org/wiki/%E8%97%A4%E7%94%B0%E5%85%83%E5%8F%B8' options = Options() options.add_argument('--headless') driver = webdriver.Chrome(ChromeDriverManager().install(), options=options) driver.get(url) width = driver.execute_script("return document.body.scrollWidth") height = driver.execute_script("return document.body.scrollHeight") driver.set_window_size(width, height) time.sleep(3) driver.save_screenshot("screenshot.png") time.sleep(3) driver.quit()
- 実行方法
$ python sele_screenshot.py
- 簡単な解説
下記で現行のChromeバージョンから最適なドライバを選択してくれる。
driver = webdriver.Chrome(ChromeDriverManager().install(), options=options)
ここがこの処理の肝だと感じる。
スクリプト実行を意図的に行える。
width = driver.execute_script("return document.body.scrollWidth") height = driver.execute_script("return document.body.scrollHeight") driver.set_window_size(width, height)
まとめ
「ChromeDriverManager().install()」はパス名記載しないので、すごくスタイリッシュで格好良い。
execute_script()の応用の幅がありそう。