티스토리 뷰

구인 공고를 보다 보니 구인 공고 사이트는 많지만 회사 정보가 부정확하거나 적어서 매번 회사 정보를 찾아보기가 귀찮았습니다.

처음 생각했던 건 흔히 회사 정보를 보는 크레딧잡, 잡플래닛 등의 정보를 끌어다가 팝업으로 보여주는 화면. 하지만 잡플래닛은 로그인 후 이용권을 통해서 정보를 볼 수 있기 때문에(평점은 쓸모가 있을지도 모르지만 사실 잡플 평점은 지나치게 높거나 낮은 곳이 많아서 신뢰성이 떨어질 것 같아서) 일단 제외하기로 했습니다.

잡플래닛에서 현직자 리뷰가 제외된 평점이 제공된다면 좀 더 신뢰도가 있을 것 같은데 그건 직접 들어가서 보는게 나을 것 같기도 했습니다.

 

아무튼 그런 기능을 제일 잘 구현할 수 있는 건 역시 크롬 익스텐션 같았습니다.

먼저 nodejs로 selenium을 이용해 회사명을 input으로 받아 크레딧잡에서 회사 연수, 총 인원, 입/퇴사자, 평균 연봉정보 끌어오는 API를 만들었습니다.

만들다 보니, 크레딧잡에서 회사명으로 검색했을 때 여러가지 경우의 수가 생겼습니다.

일단, 예를 들어 미나리라는 회사가 있다면 똑같은 사명인데 지역만 다른 경우가 있었고, 미나리잡스 같이 검색한 회사명이 포함된 다른 회사가 여러개가 나왔습니다.

회사명이 아예 검색 안되는 경우도 있었고, 정보를 블락해 놓은 기업도 있었습니다.

그래서 status 상수를 설정해놓고

1. 회사 검색결과가 없으면 없다는 상수 return

2. 회사 검색결과가 여러개이고 인덱스 정보가 없으면 회사목록 status와 회사목록 return

3. 그 외 회사 검색결과가 1개이면 회사 정보 return

4. 회사 검색 결과가 1개 초과이지만 인덱스 정보가 있으면 회사 정보 return(회사목록을 보고 사용자가 선택한 경우)

5. 조회한 정보가 block이면 회사 정보가 비공개인 status return

 

이런식으로 분기를 나눴습니다.

API는 결과가 잘 나왔고, 도중에 크레딧잡이 원티드 인사이트로 변경되어서 xpath가 약간 변경되었지만 소스를 수정하니까 잘 돌아갔습니다.

 

그 다음은 크롬 익스텐션을 작성했습니다.

마우스 드래그로 회사 이름을 선택하고, 오른쪽 버튼을 누르면 chrome sync storage에 '선택한 회사명'으로 저장됩니다.

크롬 익스텐션 버튼을 누르면 자동으로 회사 정보를 검색해 보여줍니다.

한 번 검색한 회사 정보는 storage에 저장되어 저장된 정보를 불러옵니다.

 

만들어두니 편하긴 한데 크롬 익스텐션에서 실행하는 UI가 약간 아쉬워서 다른 크롬 익스텐션 개발과정을 참고해 바꾸려고 합니다. 변경하면 2탄으로 작성하겠습니다.

여기까지의 개발 소스는 https://github.com/choisaelim/kreditjob_search 에 업로드하였습니다.

 

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함