CentOS7+Python+Chromeを用いてSeleniumをセットアップする
環境
サーバー: さくらVPS (2GB) OS: CentOS7 Python: 3.9.13
セットアップ
1., スクレイプに必要なモジュールをインストール
sudo pip install selenium
sudo pip install webdriver_manager
sudo pip install beautifulsoup4
sudo pip install lxml
2., ChromeDriverのインストール
デフォルトだと直接yumでインストールができないのでrepoを登録する
#新規ファイルを作成
$sudo vi /etc/yum.repos.d/google.chrome.repo
#以下を追記する
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
repoを設定したらyumでインストール
sudo yum install google-chrome-stable -y
起動
とりあえず起動してみる
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
options = Options()
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
driver = webdriver.Chrome(ChromeDriverManager().install(), options=options, chrome_options=chrome_options)
driver.get('https://yu00sasaki.com/')
注意
CLIで実行する場合、当然ながらスクリーンモードは起動できない。
例えば以下で実行すると、エラーが生じる
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('--start-fullscreen') #変更点
driver = webdriver.Chrome(ChromeDriverManager().install(), options=options)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
CLIで実行する際はヘッドレスモードにする。
chrome_options.add_argument('--headless')
コメント