プログラミング

【Python】Google ColaboratoryでSelenium実行

【Python】Google ColaboratoryでSelenium実行

Google Colaboratory便利ですね。

ローカルに環境を整えなくても、簡単にPythonの実行環境が準備できます。

今回は、そんなGoogle Colaboratory上でSeleniumを実行する方法を共有します。

実装コード

#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によってスクレイピングし、結果をスプレッドシートに保存するなども出来ますのでとても便利です。

ありがとうございました!

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA