이전 글에서 채용 정보의 모델(ORM
)을 설계하고,
간단하게 등록 & 조회하는 API
까지 만들어 보았다.
이전 글 : 파이썬 FastAPI를 이용한 API 프로젝트 만들기 (0) - 소개 및 예제
다음으로, 채용 정보를 자동으로 스크랩하고 DB
에 저장하는 예제를 알아 보도록 하자.
원티드에서 원하는 검색어(기술스택?)로 조회한 결과 페이지안에 있는 포지션 탭의 채용 정보를 스크래핑 할 것이다.
URL
패턴은 **https://www.wanted.co.kr/search?query={keyword}&tab=position** 이렇게 구성이 되어있는데
원하는 키워드만 URL
의 쿼리 파라미터로 전달하면 될 것 같다.
다음 이미지는 “flutter” 키워드로 검색한 화면이다. - https://www.wanted.co.kr/search?query=flutter&tab=position
총 47개의 채용 정보가 존재하는데 위의 화면에서는 페이징이 따로 존재하지 않으며, 스크롤을 내릴 때 추가적인 채용 정보가 로드된다. 채용 정보가 전체 로드되면 스크롤을 내려도 아무런 이벤트가 없어진다.
그러면, 각 각의 채용정보를 가져오기 위한 HTML element
구조를 알아보자.
브라우저의 개발자 도구를 사용하면 보다 쉽게 구조를 쉽게 파악할 수 있다.