예전에 특정 사이트 정보를 수집할 일이 있어, python2 + Beautifulsoup을 활용해 간단한 크롤링(crawling) 모듈을 만들어 데이터를 수집했었던 적이 있었다.
이후 별도의 크롤 관련 업무를 할 일이 없었는데, 최근 취미 삼아 몇몇 사이트의 데이터를 긁어보려고 다시 관련 세팅을 하게 되었다.
본격적으로 크롤링 모듈을 작성하기 앞서, 진행한 python3 및 크롤(crawl) 연관 라이브러리 설치작업을 정리해보자.
1. Python3 설치
최근 버전 mac에는 기본적으로 python2.x 버전이 깔려있긴 하지만, python2 버전은 2020년 1월 1일부로 공식적으로 지원이 중단되었기 때문에 추가적인 기능 개선이나 적극적인 bugfix는 기대하기 힘들 것이다. 그러니 미래가 있는 python3 버전을 설치하도록 하자.
일단 mac에 brew(=homebrew)는 기본적으로 설치되어있다는 가정하에 설명하도록 하겠다.
만약 아직 설치되어있지 않다면, 구글링을 통해 관련 글을 찾아보거나 이전 포스팅 글을 참고해 설치하길 바란다.
2020/03/05 - [개발/설치&설정후기] - mac 개발장비 초기 세팅기
brew를 최선버전으로 우선 업그레이드한 후, python3을 설치해주자.
> brew update
> brew install python3
만약 기존 python2, python3 이전 버전에 맞게 개발된 모듈들이 있다면, 내포된 의존성 문제를 회피하기 위해서라도 python3에 포함된 venv 을 통해 별도의 분리된 가상 환경을 생성해 설정하길 권한다.
별도의 가상 환경을 구성할 필요 없다면, 생성 부분은 스킵하고 Python plugin 설치 및 Python Interpreter 설정 부분만 참고하도록 하자.
2. 가상 환경 생성 및 IntelliJ 환경설정
가상 환경을 생성할 경로로 이동 후, 아래와 같이 'p3venv' 라는 가상 환경을 생성해보자.
> python3 -m venv p3venv
조회 해보면, 'p3venv' 디렉터리가 생성되어있고, 내부에는 가상환경의 기본 모듈들이 들어가 있음을 확인할 수 있다.
생성된 가상환경을 적용해보자.
> source p3venv/bin/activate
터미널 명령줄 앞에 (p3venv) 로 표기가 되면, 잘 적용이 된 것이다.
다만, 터미널을 닫거나 세션을 종료하면 풀려버린다. 만약, IntelliJ 와 같은 IDE 개발툴을 사용 중이라면 아래와 같이 환경설정을 해주자.
IntelliJ 에 Python plugin이 설치되어 있지 않다면, 우선 설치하도록 하자.
0. 메뉴바 IntelliJ IDEA > Preferences 선택
> Plugins 선택, 상단에서 Marketplace 선택, python 입력 후 검색.
1. 메뉴바 File > Project Structure 선택.
2. 좌측 Platform Settings > SDKs 선택.
> (+)버튼 누른 후, Add New SDK 에서 Python SDK 선택.
> Virtualenv Environment > Existing environment 선택.
> Interpreter에 아까 생성했던 가상환경 p3venv 내 python3 선택.
3. 좌측 Project Settings > Facets 선택
> Python Interpreter 가 방금 추가한 설정으로 되어있는지 확인.
Pycharm 을 쓰고 있다면,
메뉴바 > Pycharm -> Preferences -> Project -> Project Interpreter 로 이동.
> (+)버튼 누른 후, Add Python Interpreter 화면에서 추가해주자.
자... python3 설치 및 관련 설정이 끝났다면, 이제 크롤(crawl)작업에 필요한 python 라이브러리를 설치해보자.
3. BeautifulSoup4 설치
BeautifulSoup4는 HTML, XML 문서로부터 특정 데이터를 손쉽게 파싱(Parsing) 할 수 있게 도와주는 python 라이브러리로, 문서를 구성하는 요소나 각종 속성 값들을 간단하게 탐색하거나 검색할 수 있기 때문에 웹크롤링 작업 시 유용하게 쓰인다.
자세한 특징이나 사용법은, 이후 실습을 통해 다뤄볼 예정이기 때문에 여기선 일단 설치만 진행하도록 하자.
만약, 별도의 가상환경을 설치&사용하려 한다면, 해당 가상 환경에 진입 후 설치하면 된다.
# 가상환경 'p3venv' 진입. 가상환경이 없다면 이 부분은 패스.
> source p3venv/bin/activate
# beautifulsoup4 설치
> pip3 install beautifulsoup4
4. Selenium 연관 설정
Selenium 은 웹 앱을 테스트할 때 사용하는 웹프레임워크로, 실 브라우저(firefox, chrome 등등)를 application 코드 레벨에서 핸들링하여 자동화된 테스팅을 수행하거나 웹 크롤링과 같은 작업을 가능하게 한다.
자세히 살펴보려면 끝이 없기 때문에, 이번에는 크롤링 작업에 필요한 설치 부분만 다루도록 한다.
Selenium 설치
BeauBeautifulSoup 설치때와 같이 가상 환경을 설치&사용하려 한다면, 해당 가상 환경에 진입 후 설치하면 된다.
# 가상환경 'p3venv' 진입. 가상환경이 없다면 이 부분은 패스.
> source p3venv/bin/activate
# selenium 설치
> pip3 install selenium
Webdriver 다운로드
Selenium 은 Firefox, Safari, Chrome 등 몇몇 웹드라이버를 지원하지만, 그중 주로 쓰는 Chrome browser용 드라이버를 선택하였다.
Webdriver는 내 mac에 설치된 Chrome browser와 동일한 버전이어야 스크립트가 구동되므로, 버전을 먼저 확인해보자.
1. 메뉴바 Chrome > Chrome 정보 클릭하여 버전정보 확인.
2. ChromeDriver - WebDriver for Chrome 이곳에서 내 버전에 맞는 WebDriver를 다운로드하자.
> 앞에 major버전이 맞으면 하위 버전은 달라도 무방하다.
ex) 80.0.3987.132 일 경우, 80.0.3987.106 or 80.0.3987.16
> 버전에 맞는 WebDriver 링크를 선택 후, chromedriver_mac64.zip 파일을 내려받아 압축을 풀자.
> 압축 푼 chromedriver 파일을, 개발 관련 디렉터리에 잘 옮겨두자.
마치며...
지금까지 웹 크롤링에 필요한 것들을 설치해가며 간단히 정리해보았다. 이번 포스팅에서는 크롤링에 대한 구체적인 내용은 다루지 않았지만,앞으로 조금씩 예를 들어가며 풀어나가보려 한다.
'개발 > 설치&설정후기' 카테고리의 다른 글
mac 개발장비 초기 세팅기 (0) | 2020.03.05 |
---|