[중급편] 파이썬 selenium 활용 (진행 중)
본 코스는 구독 VOD로 제공됩니다. (구독 확인을 위해 회원가입/로그인이 필요합니다. 구독정책은 구독정책 페이지에서 확인하실 수 있습니다.)
초급편 - 파이썬 requests/BeautifulSoup4 라이브러리 활용에 이어 중급편을 진행합니다.
requests를 통한 처리와의 비교는 초급편의 19 맛보기) requests와 selenium간의 비교 에피소드를 참고해보세요.
Selenium
을 활용한 크롤링의 특징과 개발환경 세팅 방법에 대해서 살펴보고, Selenium
을 통한 크롤링의 예시도 간략히 살펴보겠습니다.
31:42 (1회 시청)
39:59 (1회 시청)
- Chrome Driver를 위한 필수적인 옵션에 대해서 살펴보겠습니다. (언어설정, shared memory 그기, user data 디렉토리 지정하기, headless 모드 지정, infobars 끄기, 커스텀 User-Agent, 윈도우 크기 지정, 최대화/풀스크린 지정)
DevToolsActivePort file doesn't exist
예외에 대한 대응 방법에 대해서도 살펴보겠습니다.- 코드를 통한 Extensions 설치 방법에 대해서 살펴보겠습니다.
20:29 (1회 시청)
대한민국 내에서는 윈도우의 Internet Explorer가 필요할 때가 많습니다. Selenium에서 Internet Explorer Driver를 사용할 때에 꼭 필요한 설정들에 대해서 살펴보겠습니다.
14:59 (1회 시청)
크롤링을 머신 1대에서 수행을 할 수도 있겠지만, 머신의 성능이 넉넉할 경우 가상머신을 다수 설치/운영하여, 다수의 크롤링/자동화 작업을 보다 수월하게 수행할 수 있습니다. 그리고 원하는 운영체제/구성도 자유롭게 구성이 가능하구요.
국내 관공서/사이트 중에 최신버전의 IE가 지원되지 않는 경우, 구버전의 IE가 필요할 수도 있겠는 데요. 가상머신을 활용하면 손쉽게 대응하실 수 있습니다.
다양한 가상머신 솔루션 중에 VirtualBox
를 활용하여, 윈도우7 환경을 구성하고 Jupyter Notebook 서버를 구동한 후에, 호스트 측에서 접속하여 활용하는 방법을 소개해드리겠습니다.
27:41 (1회 시청)
1대의 머신에서 브라우저 자동화를 수행하기 보다, 여러 머신에서 동시에 병렬로 브라우저 자동화를 수행한다면 좀 더 빠르고 효율적으로 크롤링을 수행할 수 있을 것입니다. 그리고 다양한 운영체제/브라우저를 사용할 수 있을테구요. 그런데, 여러 머신에 대해서 크롤링을 수행할려면 생각보다 단계가 험난합니다.
이때 Selenium의 Remote WebDriver
를 사용한다면, 손쉽게 운영체제/브라우저를 단일 코드로 자동화를 수행할 수 있으며, 심지어 병렬로 처리하실 수 있습니다.
29:40 (1회 시청)
Selenium IDE는 브라우저 UI를 통한 테스트 시나리오를 녹화 및 재실행할 수 있는 유용한 애플리케이션입니다. 이는 크롤링 목적이 아닌, 자동화 및 UI 테스트에 포커스가 되어있습니다. 웹서비스를 개발 중 이실 경우 웹서비스 테스트 목적으로 유용하게 사용하실 수 있습니다.
Selenium IDE
에 대한 설치/활용법에 대해서 살펴보고, 파이썬 직접 코딩을 통한 방식과의 차이점에 대해서도 살펴보겠습니다. 그리고 selenium-side-runner
유틸리티를 통한 실행방법에 대해서도 살펴볼 것입니다.
26:55 (1회 시청)
영상이 공개되었습니다. (2019-05-04 04:00)
기본 시나리오
- 다음 주소의 페이지에서 https://www.instagram.com/explore/tags/태그명/
- 그 태그의 전체 포스팅 개수를 알아내고
- 원하는 최대 개수를 크롤링할 때까지 Page Down을 수행하며 크롤링하여
- 각 포스팅의 주소를 획득
- 각 포스팅 페이지를 방문하여 해시태그를 알아내기 해시태그 빈도 시각화
56:27 (1회 시청)
인스타그램에서 타임라임 보기, 좋아요/팔로우 등의 액션을 위해서 로그인 과정이 필요합니다. 로그인 방법 중에 이메일/암호를 통한 로그인 방법과 보안 코드 (Security Code)를 다루는 방법에 대해서도 살펴보구요. 그리고 세션 아이디 (sessionid
)를 재활용하여, 보다 손쉽게 로그인하는 방법에 대해서도 살펴보겠습니다. :D
33:48 (1회 시청)