이슈 해결 로그

Python selenium을 이용한 원티드 채용 공고 북마크 기능

늦깎이_개발자 2022. 4. 8. 09:56
반응형

깃허브 링크 : https://github.com/minseokLim/wanted-job-search

 

필자는 잠시 휴식 기간을 가지고 이제 다시 구직 활동 중이다. 원티드를 주로 이용하는데, 필터 조건이 너무 마음에 들지 않았다. 나는 Spring + Java or Kotlin 기반의 개발을 해왔고, 다음 회사에서 프레임워크와 언어를 바꾸고 싶은 마음이 아직은 없었다. 근데 원티드에서 제공하는 필터링 기능을 이용해서 검색을 하면, 프론트엔드, PHP, Node.js 공고가 섞여서 나왔다....-_- 그 밖에도 온갖 걸려야할 것들을 일일히 누르면서 거르고 있자니... 너무 단순 반복 작업이고 개발자스럽지 않았다. 그래서 Python selenium을 이용하여 이를 자동화해보기로 했다!!

참고로 필자는 파이썬에 대해 거의 아는 게 없다. 그래서 파이썬 개발자가 보기엔 코드가 매우 우스워 보일 수도 있다;;

그리고 원티드에서 UI를 개편하거나 화면 구조를 살짝 틀어도 제대로 동작하지 않을 수 있다^^;;;

 

사용법은 다음과 같다.

 

1. 필요한 라이브러리 설치 : 터미널에서 다음 명령어를 쳐서 필요한 라이브러리를 다운 받는다. 크롬 기반으로 동작하므로 크롬은 반드시 설치되어 있어야 한다.

python -m pip install --upgrade pip
pip install selenium
pip install webdriver-manager

 

2. 깃의 소스 코드를 클론 받는다.

3. 소스 코드 상의 상수 4개를 자신의 상황에 맞게 변경한다.

  • FILTERED_RECRUITMENT_URL : 원티드에서 제공하는 필터링 기능을 사용한 이후의 URL이다. 필자의 경우, 경력 3년, 개발 > 서버개발자, 자바개발자를 선택하였다.
  • FILTERING_POSITION_REGEX : 필터링할 채용 공고 제목의 정규식이다. 이 정규식에 매칭되는 채용 공고들은 대상에서 제외된다.
  • FILTERING_COMPANY_REGEX : 필터링할 회사명의 정규식이다. 이 정규식에 매칭되는 회사명들은 대상에서 제외된다. 필자의 경우 바로 직전 회사와 면접을 본지 몇 달 지나지 않은 우아한형제들을 제외시켰다.
  • JOB_DESCRIPTION_REGEX : 채용 상세 페이지에서 JD(Job Description)에 반드시 포함되었으면 하는 내용에 대한 정규식이다. 이 정규식에 매칭되는 채용 공고들만 북마크가 된다.

4. 실행 : 터미널에서 아래와 같이 실행한다. 첫번째 인자는 자신의 이메일 주소이고, 두번재 인자는 비밀번호이다.

python main.py test@test.com testpassword

 

5. 기다린다. 꽤 오래걸린다. 각자의 네트워크 상황에 따라 조금씩 다르겠지만 필자의 경우 대략 1시간이 소요되었다...^^;;

 

이제 필터링된 채용 공고들이 나의 북마크에 추가되었다. 근데 북마크된 것만 500건이 넘는구나...-_- 1700건 -> 500건으로 줄었으니 잘한 일이라고 봐야할까...?;; 좀 더 손을 봐야하겠지만, 아무튼 셀레니움을 사용해보는 재밌는 경험이었다.

 

 

※ 참고 : https://greeksharifa.github.io/references/2020/10/30/python-selenium-usage

반응형