実装コード
#Chromiumとseleniumをインストール
print("前処理を開始")
!apt-get update
!apt install chromium-chromedriver
!cp /usr/lib/chromium-browser/chromedriver /usr/bin
!pip install selenium
#ライブラリをインポート
from selenium import webdriver
import time
#---------------------------------------------------------------------------------------
# 処理開始
#---------------------------------------------------------------------------------------
# ブラウザをheadlessモード実行
print("\nブラウザを設定")
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome('chromedriver',options=options)
driver.implicitly_wait(10)
# サイトにアクセス
print("サイトにアクセス開始")
driver.get("https://www.google.com/?hl=ja")
time.sleep(3)
# driver.find_elements_by_css_selector("xxx") 的な処理を自由に
print("サイトのタイトル:", driver.title)
print("\nお疲れさまです。\n処理が完了しました。")
コードの説明
まず、Google Colaboratory上でSeleniumを利用するためにインストールしています。
!pip install ○○ でGoogle Colaboratoryの環境に各種ライブラリをインストール可能です。
#Chromiumとseleniumをインストール
print("前処理を開始")
!apt-get update
!apt install chromium-chromedriver
!cp /usr/lib/chromium-browser/chromedriver /usr/bin
!pip install selenium
次にローカル環境でseleniumを使うときと同様に、インポートします。
#ライブラリをインポート
from selenium import webdriver
import time
続いてブラウザをheadlessモードで動作するようOptionを設定します。
# ブラウザをheadlessモード実行
print("\nブラウザを設定")
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome('chromedriver',options=options)
driver.implicitly_wait(10)
あとは目的のサイトにアクセスして、希望の要素を操作するだけです。
# サイトにアクセス
print("サイトにアクセス開始")
driver.get("https://www.google.com/?hl=ja")
time.sleep(3)
# driver.find_elements_by_css_selector("xxx") 的な処理を自由に
print("サイトのタイトル:", driver.title)
まとめ
以上でGoogle Colaboratory上でSeleniumを実行することが出来ました。
例えば、Google Colaboratory上でSeleniumによってスクレイピングし、結果をスプレッドシートに保存するなども出来ますのでとても便利です。
ありがとうございました!