본문 바로가기
Programming

AWS에 크롬드라이버 설치 selenium 돌리기

by 하하호호 2022. 1. 18.
반응형

 

 

 

아마존 EC2에서 셀레니움 작업을 하기 위해서는

서버에 크롬드라이버구글 크롬 브라우저를 설치

해줘야 한다. 파이썬으로 셀레니움을 아마존 EC2에서

돌려보자.

 

아래 명령어를 실행하는 기본 디렉토리는 /tmp/에서 

진행했다. 

 

 

구글 크롬 설치

구글 크롬을 먼저 설치해준다.

$ wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
$ sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
$ sudo apt-get update
$ sudo apt-get install google-chrome-stable
$ google-chrome – version && which google-chrome

1. wget을 사용해서 구글 크롬 바이너리를 다운로드 한다.

2. google.list에 위 명령어를 옮겨 저장한다.

3. apt-get 업데이트를 진행한다.

4. google-chrome-stable 설치해준다.

5. google-chrome 버전을 확인한다.

 

 

 

크롬드라이버 설치

$ cd /tmp/
$ sudo wget https://chromedriver.storage.googleapis.com/80.0.3987.106(본인 버전)/chromedriver_linux64.zip
$ sudo unzip chromedriver_linux64.zip
$ sudo mv chromedriver /usr/bin/chromedriver
$ chromedriver – version

1. ROOT 계정의 tmp 파일로 이동한다.

2. wget을 사용해서, 크롬 드라이버를 다운한다.

https://chromedriver.chromium.org/downloads

 

ChromeDriver - WebDriver for Chrome - Downloads

Current Releases If you are using Chrome version 98, please download ChromeDriver 98.0.4758.48 If you are using Chrome version 97, please download ChromeDriver 97.0.4692.71 If you are using Chrome version 96, please download ChromeDriver 96.0.4664.45 For o

chromedriver.chromium.org

위 사이트에서 본인 구글크롬 버전과 동일한 크롬드라이버를

선택해서 다운로드한다.

 

 

 

3. 크롬 드라이버 압축을 풀어준다.

4. 크롬 드라이버를 usr/bin/ 디렉토리로 이동한다.

5. 크롬 드라이버 버젼을 확인한다.

 

셀레니움 실행

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('headless')
options.add_argument('window-size=1920x1080')
options.add_argument("disable-gpu")
driver = webdriver.Chrome('/usr/bin/chromedriver', chrome_options=options) # 크롬 웹 드라이버

 

이제 정상적으로 AWS에서 셀레니움 모듈을 돌리게 되었다.

한가지 남은 문제는 AWS 서버에서 돌리는 셀레니움은 관계

없지만, 주기적으로 RDS에 데이터를 쌓아넣는 셀레니움의 경우는

메인 서버에서 돌리는 것 보다 AWS 람다에서 돌리는게 더

맞는 로직이다.

 

서버 최적화란 결국 서버를 최소단위로 계속 나누는 과정이고,

이 과정에서 등장한 것이 마이크로서비스의 개념이다.

 

 

2022.01.14 - [Web Development] - Django AWS 배포하기 1

 

Django AWS 배포하기 1

step 1 기존 프로젝트 정리 pip freeze > requirements.txt 현재 프로젝트에서 필요한 모듈들을 requirements.txt 파일에 저장한다. 작업을 완료한 프로젝트 파일을 Git에 push해준다. AWS를 통해 배포하는 작업..

incomeplus.tistory.com

2022.01.15 - [Web Development] - Django AWS 배포하기 2

 

Django AWS 배포하기 2

requirements.txt 현재 프로젝트에서 필요한 모듈들을 requirements.txt 파일에 저장한다. 작업을 완료한 프로젝트 파일을 Git에 push해준다. AWS를 통해 배포하는 작업.." data-og-host="incomeplus.tistory.com"..

incomeplus.tistory.com

2022.01.15 - [Web Development] - Django AWS 배포하기 3

 

Django AWS 배포하기 3

requirements.txt 현재 프로젝트에서 필요한 모듈들을 requirements.txt 파일에 저장한다. 작업을 완료한 프로젝트 파일을 Git에 push해준다. AWS를 통해 배포하는 작업.." data-og-host="incomeplus.tistory.com"..

incomeplus.tistory.com

2022.01.16 - [Web Development] - Django AWS 배포하기 4

 

Django AWS 배포하기 4

Django AWS 배포하기 3 requirements.txt 현재 프로젝트에서 필요한 모듈들을 requirements.txt 파일에 저장한다. 작업을 완료한 프로젝트 파일을 Git에 push해준다. AWS를 통해 배포하는 작업.." data-og-host="i..

incomeplus.tistory.com

2022.01.17 - [Web Development] - 웹 애플리케이션 서버 생성 및 배포하기 Nginx uWSGI unix socket django python AWS ubuntu server

 

웹 애플리케이션 서버 생성 및 배포하기 Nginx uWSGI unix socket django python AWS ubuntu server

Django 프로젝트를 서버에 배포하기 위해서 필요한 모듈은 크게 Nginx / uWSGI / unix socket / 서버 computer가 필요하다. 서버가 구동되는 순서 사용자가 HTTP request를 보내면, Nginx에서 프로토콜을 받아서..

incomeplus.tistory.com

 

반응형

댓글