링커리어(linkareer.com)의 합격 자기소개서를 키워드로 검색해 수집하고, 엑셀 파일로 변환하는 Selenium 기반 스크레이퍼입니다.
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt# 1단계: 자소서 수집 → JSONL 파일 생성
python main.py "백엔드 개발자"
# 출력 파일명을 직접 지정하고 싶을 때
python main.py "백엔드 개발자" -o my_output.jsonl
# 2단계: JSONL → 엑셀 변환
python jsonl_to_exel.py 백엔드_개발자.jsonl
# 출력 파일명을 직접 지정하고 싶을 때
python jsonl_to_exel.py 백엔드_개발자.jsonl -o output.xlsxlinkareer_data/
├── main.py # 메인 스크레이퍼
├── jsonl_to_exel.py # JSONL → 엑셀 변환기
├── linkareer_backend_developer.jsonl # 수집 결과 (gitignore됨)
└── linkareer_backend_developer.xlsx # 변환된 엑셀 파일
linkareer.com/cover-letter/search?role=<검색어> 페이지를 순회하며 자소서 URL을 모두 수집합니다. 페이지에 결과가 없어질 때까지 자동으로 다음 페이지로 넘어갑니다.
각 자소서 URL에 접근해 아래 정보를 추출합니다.
| 필드 | 설명 |
|---|---|
company |
기업명 |
job |
직무 |
season |
채용 시즌 (예: 2025 하반기) |
spec |
합격자 스펙 |
questions |
문항/답변 리스트 |
페이지 body에서 사이드바 노이즈를 제거하고 실제 자소서 본문만 추출합니다.
- Copyright 경계 —
Copyright © Linkareer Inc. All Rights Reserved.이후 내용만 사용 - 번호 항목 분리 —
1. 문항형태로 된 항목을 개별 Q&A로 분리 - 자유양식 처리 — 번호 없는 자유형 자소서는
[자유양식]으로 단일 항목 처리 - 후처리 —
\n새창\n목록등 UI 노이즈 제거
jsonl_to_exel.py는 JSONL의 각 자소서를 문항 단위로 펼쳐서(flatten) 엑셀로 저장합니다. 자소서 1건에 문항이 여러 개면 여러 행으로 나뉩니다.
엑셀 컬럼: url, keyword, company, job, season, spec, question, answer
| 인자 | 필수 | 설명 |
|---|---|---|
keyword |
O | 검색할 직무 키워드 |
-o, --output |
X | 출력 JSONL 파일 경로 (생략 시 키워드.jsonl 자동 생성) |
python main.py --help| 인자 | 필수 | 설명 |
|---|---|---|
input |
O | 변환할 JSONL 파일 경로 |
-o, --output |
X | 출력 엑셀 파일 경로 (생략 시 입력 파일명.xlsx 자동 생성) |
python jsonl_to_exel.py --help- 로그인 없이 접근 가능한 공개 자소서만 수집합니다.
- Chrome 브라우저가 설치되어 있어야 합니다 (ChromeDriver는 자동 설치).
- 기본값은 헤드리스 모드 OFF입니다. 헤드리스로 실행하려면
get_driver(headless=True)로 변경하세요. - 요청 간 2.5초 딜레이가 적용됩니다.