개발

AWS EC2에서 웹크롤링api를 위한 웹크롬드라이버 세팅

0hyeon의 2023. 6. 24. 23:51
반응형

회사에 들어가게되며, 맡은업무가 웹크롤링을 배정받았는데,

사실 서버배포며, 웹서버api 띄우고 만드는거며 기술스택이며, 프론트엔드 분야는 아니었기때문에,

시행착오를 남기지않기위해 작성했습니다.

 

*로컬에서는 잘작동될지 몰라도 크롤링 기능을 배포할때는 크롬설치와 웹드라이버를 설치환경 세팅해줘야합니다.

환경

- ubuntu linux

- python 3

 

1. Selenium 설치

sudo pip install selenium

aws 접속 후 명령어를 입력한다

1. Chrome 설치

순서대로 명령어를 입력한다.

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

아래에 있는 명령어 까지 실행이 완료되었다면 크롬이 설치 완료 되었다.

 

2. Chrome driver 설치

 google-chrome --version

크롬 드라이버 버전을 확인하고 아래 링크에 있는 웹드라이버 버전중 알맞는 드라이버 버전 확인

https://chromedriver.chromium.org/downloads

wget -N http://chromedriver.storage.googleapis.com/91.0.4472.19/chromedriver_linux64.zip -P ~/Downloads

다운로드 폴더안에 웹드라이버를 다운로드를 한다.

unzip ~/Downloads/chromedriver_linux64.zip

해당된 크롬드라이버 버전의 압축을 해제한다.

 

3. 가상 웹브라우저 환경설정

가상 웹브라우저에 필요한 환경을 다운로드 한다.

sudo pip install xlrd
sudo apt-get install xvfb
sudo pip install pyvirtualdisplay

4. 웹드라이버 실행

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument("--single-process")
browser = webdriver.Chrome(chrome_options)

 

5. 결과 

포털사이트 배너 크롤링 성공!

반응형