본문 바로가기
브라우저 자동화&크롤링/python+selenium

셀레늄으로 인프런 강의정보를 크롤링해서, 수강료 인사이트 얻기[연재]

by 일코 2021. 7. 13.

1. 튜토리얼 개요

국내 최고의 온라인강의 사이트 인프런에 업무자동화 강의를 올릴 예정입니다.
그냥 제 방식, 제 페이스대로 강의를 만들고 싶지만,
문득 궁금해졌습니다. 어떤 강의가 수강생 수가 많을까? (당연히 무료강의겠죠ㅜ)
그래서 강의시간이나 가격, 평점, 태그정보, 분야 뭐 이런 걸 크롤링으로 모아다가
인프런에서 제 강의가 가장 무난하게 잘 팔리게 하려면 어떻게 해야 할지,
전략적인 선택을 해 보고 싶어졌습니다. 뭐, 결국 제 방식으로 제가 아는 것 엮어다가 만들긴 하겠지만요;;;
또 어떤 분야의 강의가 많은지, 나름 RAW한 데이터로 분석해 보고 싶기도 했고요.
또 좋은 강의를 발견하면 수강신청도 하고요. 
어느 정도 결론이 나온 상태에서 튜토리얼을 진행하면 재미가 없을 것 같아,
크롤링을 시작하는 시점에서 첫 글을 남깁니다.

로그인 없이도 접근가능한 정보만, 정말 천천히 취득해서 나름 서버에 부하를 주지 않으려고 노력을 하였습니다.

 

2. 인프런이란?

인프런은 2017년 4월에 세워진 대한민국의 온라인 교육 전문 플랫폼이다.
개발, 보안, 데이터사이언스 등 IT분야 교육이 기업의 핵심 기술이며, IT분야 외에도 업무스킬, 영어 등 다양한 분야의 교육을 제공하고 있다. 2020년 10월 기준 사용자 수는 37만명이며, 누적이용자는 175만명이다#. 최근 코로나19 영향으로 일부 강좌를 무료로 제공하고있다. 사옥은 경기도 분당 판교테크노밸리에 있다.
대한민국 기업 인프랩이 운영하고 있다. 인프랩 실Log 이라는 발전기록을 남기고 있다.

출처 : 나무위키

 

3. 크롤링에 사용할 도구

① 프로그래밍언어 : 파이썬 ver. 3.8~3.9, 64bit
② 통합개발환경 : 파이참 ver. 2021.1.
③ 사용모듈 : selenium(+chromedriver_autoinstaller)
④ 브라우저 : 크롬 ver.91.0.4472.124 공식 빌드(64비트)

저와 동일한 환경에서 튜토리얼을 진행하시면 제일 좋겠지만,

파이참보다 익숙한 다른 통합개발환경을 사용하시는 경우

해당 IDE를 사용하시면 되겠습니다.

파이썬이나 파이참 설치방법은 생략하겠습니다.

3.1 셀레늄 설치

크롬브라우저를 원격으로 조작하기 위해 selenium이라는 모듈을 설치합니다.

ipython을 사용하신다면, 아래와 같이 파이썬 콘솔에서 설치하시면 됩니다. (단, 인터넷 연결환경이어야 함.)

ipython 콘솔에서 셀레늄 설치완료.

커맨드프롬프트에서도 동일한 명령어로 아래와 같이 설치하실 수 있습니다.

커맨드프롬프트에서 셀레늄 모듈 설치 완료

3.2 만약 내부망 등 인터넷 연결환경이 아닌 경우에는?

내부망 PC에서 셀레늄 모듈을 설치하시려면,

1. 먼저 인터넷이 연결된 PC에서 (내부망과 동일한 버전의 파이썬 설치 후)

 

pip download selenium

 

을 입력합니다.

셀레늄 모듈을 다운받았습니다.

2. 다행히 딸려오는 모듈이 urllib3 한 개 밖에 없네요. 총 두 개의 whl 파일을 다운받았습니다.

selenium 모듈 설치를 위한 2개의 whl 파일

3. 이 두 개의 파일을 내부망으로 복사한 후, 해당 폴더에서 다음의 커맨드를 입력합니다.

 

pip install --no-index --find-links=. selenium

 

 

내부망PC에 셀레늄 모듈 설치 완료

셀레늄 모듈의 설치가 완료되었습니다.

 

3.3 크롬드라이버 또는 chromedriver_autoinstaller 설치

파이썬과 셀레늄으로 크롬브라우저를 조작하려면, 한 가지가 더 필요합니다. 바로 크롬드라이버입니다.

크롬버전에 맞는 크롬드라이버를 설치하기가 여간 성가신 게 아님ㅜ

여기서 chromedriver.exe 파일을 다운받으셔도 되지만,

국내 프로그래머 조영빈 님께서 chromedriver_autoinstaller라는 신박한 모듈을 만들어주셔서

크롬 버전에 맞는 적절한 크롬브라우저를 명령어 한 줄로 프로젝트폴더나 임시폴더에 다운받을 수 있게 되었습니다.

그래서 우리는 적절한 크롬드라이버를 찾는 대신, chromedriver_autoinstaller를 설치하겠습니다.

크롬드라이버오토인스톨러. 그저 빛!

4. 크롤링 맛보기 - 인프런 접속

자, 이제 크롤링을 위한 모든 준비가 완료되었습니다.

본격적인 크롤링은 다음시간에 이어서 해보기로 하고,

이번 시간에는 셀레늄과 크롬드라이버오토인스톨러를 임포트한 후

www.inflearn.com에 접속하는 코드까지만 따라해보겠습니다. 

간단한 코드 몇 줄로 크롬을 열고, 인프런에 접속해보았습니다.

입력한 코드는 아래와 같습니다. 크롬드라이버를 다운받고, 크롬브라우저를 연 후 inflearn.com에 접속합니다.

 

from selenium.webdriver import Chrome
import chromedriver_autoinstaller as ca
chromedriver = ca.install()
driver = Chrome(chromedriver)
driver.get("https://www.inflearn.com")

기초 튜토리얼인 만큼, 기본적인 맥락을 잡을 수 있도록 

최소의 코드로 크롤링을 해보려고 합니다. (꼼꼼한 옵션설정이나 예외처리는 다음 시리즈에서 진행해보겠습니다.)

다음시간에는 특정 페이지로 이동하거나 카드를 클릭하고 텍스트를 추출하는 기본동작을 배워보겠습니다.

 

그럼 다음 시간에 뵙겠습니다.

행복한 하루 되세요^^

 

5. 일상

새 노트북을 얼른 하나 사고 싶습니다. 아내를 막 졸라도.. 당장 사줄 것 같은 눈치는 아니네요.

마음 같아선 맥북프로라는 신박한 물건을 써보고 싶어서, 이마트 매장에서 오며가며 만지작거려도 보고 하는데

제 밑천(?)이 대부분 윈도우 기반이다 보니까;;; 델의 XPS나 레노버 미친가격의 씽크패드 이런 거...

으으으으아아아아아아아아!!!!!!!! 노트북 사고 싶다ㅏㅏㅏㅏ!!!!!!!!!!!!!!!!!11111

 

댓글