개발
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. 결과
포털사이트 배너 크롤링 성공!
반응형