내가 한 노력들

[ Linux ] linux환경에서 selenium 사용하기 (ubuntu/centos) 본문

IT 공부/Linux

[ Linux ] linux환경에서 selenium 사용하기 (ubuntu/centos)

JONGI-N CHOI 2022. 1. 26. 22:30

docker 컨테이너를 이용해서 ubuntu 환경을 구축하여, python의 selenium을 사용해볼려고 합니다. 

 


Docker 컨테이너로 ubuntu 컨테이너 생성

docker run -it --name ubuntu-sel ubuntu /bin/bash

 

package manage 업데이트 및 필요 package 설치

apt update
apt -y install sudo wget unzip vim

 

 


linux 용 chrome 설치 

cd tmp
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt install ./google-chrome-stable_current_amd64.deb
sudo mv /usr/bin/google-chrome-stable /usr/bin/google-chrome
google-chrome –-version

버전을 확인해보니 97버전입니다. 

버전이 중요한 이유는 chromedriver를 설치할 때도, 같은 버전을 설치해줘야만 하기 때문입니다.

chromedriver 설치

sudo wget https://chromedriver.storage.googleapis.com/97.0.4692.71/chromedriver_linux64.zip
sudo unzip chromedriver_linux64.zip
sudo mv chromedriver /usr/bin/chromedriver
chromedriver –-version

chromedriver까지 정상적으로 설치가 되었습니다. 

 


pip 설치

apt install python3-pip

selenium을 설치를 위해서 pip를 설치해줍니다.

 

selenium 설치

pip install selenium

그 외에도 스크래핑에 필요한, beautifulSoup, lxml등은 필요하시면 설치하면 됩니다. 

 


Python 코드 작성

vi main.py

vim에디터를 이용해서 코드를 작성합니다. 

 

 

main.py

from selenium.webdriver.chrome.options import Options
from selenium import webdriver

options = Options()
options.add_argument("--headless")
options.add_argument("window-size=1400,1500")
options.add_argument("--disable-gpu")
options.add_argument("--no-sandbox")
options.add_argument("start-maximized")
options.add_argument("enable-automation")
options.add_argument("--disable-infobars")
options.add_argument("--disable-dev-shm-usage")

url = "https://www.naver.com/'

browser = webdriver.Chrome(options=options)
browser.get(url)

print(browser.page_source)

headless로 selenium을 동작시켜 네이버 사이트에 있는 html소스 코드를 출력하는 코드입니다. 

 

 

python 코드 실행

python3 main.py

에러없이, 네이버의 html 코드가 잘 출력되는 것을 확인할 수 있습니다.