eatmoreduck/boss-zhipin-scraper

Boss直聘爬虫 / BOSS直聘职位数据抓取工具,基于 Chrome CDP 协议复用真实登录态,绕过字体反爬,输出明文薪资 JSON/CSV + 薪资技能分析。A Chrome-CDP-based BOSS Zhipin job scraper/crawler.

개요

boss‑zhipin‑scraper는 중국 채용 플랫폼인 BOSS 直聘에서 채용 공고를 추출하는 Python 명령줄 도구입니다. Chrome DevTools Protocol (CDP)을 통해 로컬에서 실행 중인 Chrome 또는 Edge 브라우저에 연결하여 사용자의 로그인 세션을 재사용하고, 사이트 자체 검색 API를 호출하여 명확한 급여 정보가 포함된 결과를 반환합니다(API가 급여를 일반 텍스트로 직접 제공하므로 사이트의 폰트 기반 난독화를 피할 수 있습니다). 또한 각 공고의 상세 설명을 가져오고, 수집된 데이터를 분석하여 요약본과 이력서 개선을 위한 프롬프트 제안을 생성할 수 있습니다.


주요 기능

기능 설명
일반 텍스트 급여 사이트의 검색 API(CDP를 통해 캡처)를 사용하여 급여를 직접 가져오므로 폰트 기반의 안티 스크래핑 기법을 우회합니다.
증분 실행 새로운 공고는 is_new로 표시됩니다. 결과는 페이지 단위로 기록되므로 충돌 시 데이터 손실을 방지합니다.
다양한 출력 형식 공고를 JSON 또는 CSV(목록 및 상세 파일)로 저장합니다.
상세 정보 크롤링 및 기술 분석 선택적으로 JD 페이지를 가져와 자주 등장하는 기술 용어 및 기타 통계를 추출합니다.
통합 요약 및 프롬프트 생성 job_summary.py를 통해 급여 분포, 경력/학력 요건, 주요 기술을 요약하고 LLM에 바로 복사하여 사용할 수 있는 이력서 개선 프롬프트를 생성합니다.
Selenium/Playwright 불필요 로그인된 브라우저에 CDP로 직접 연결하여 핑거프린팅을 줄이고 일반적인 스크래퍼가 사용하는 무거운 브라우저를 피합니다.
크로스 플랫폼 macOS, Linux, Windows에서 작동하며 Chrome, Chromium, Edge를 지원합니다.
Hermes/Agent 스킬 통합 Hermes 스킬로 패키징되어 hermes skills install, skills.sh 또는 ClawHub를 통해 AI 어시스턴트 에이전트에 설치할 수 있습니다.

작동 원리 (개요)

  1. 설정 – --setup-chrome(또는 --setup-edge)은 전용 브라우저 프로필을 실행하고 사용자에게 BOSS 直聘 로그인을 요청한 뒤 쿠키를 로컬에 저장합니다.
  2. API 트래픽 캡처 – CDP의 Network 도메인을 사용하여 사용자가 스크롤할 때 페이지가 수행하는 검색 요청을 수동적으로 모니터링합니다.
  3. 결과 파싱 – JSON 응답에는 salaryDesc, securityId, lid 등의 필드가 포함됩니다. 스크립트는 각 공고를 파일에 기록하고 job_id로 중복을 제거하며 새로 발견된 항목을 표시합니다.
  4. 상세 페이지 (선택 사항) – --detail이 활성화되면 스크립트는 각 공고의 상세 URL로 이동하여 JD 텍스트를 추출하고 기술 용어에 대한 간단한 단어 빈도 분석을 수행합니다.
  5. 후처리 – job_summary.py는 수집된 JSON/CSV를 읽어 통계(급여 범위, 경력 수준, 도시 분포, 주요 기업/기술)를 계산하고 간결한 요약과 LLM 친화적인 프롬프트를 출력합니다.

일반적인 사용법

# 설치
git clone https://github.com/eatmoreduck/boss-zhipin-scraper.git
cd boss-zhipin-scraper
pip install -r requirements.txt

# 로그인된 브라우저 프로필 준비
python3 scripts/boss_cdp_raw.py --setup-chrome   # 또는 --setup-edge

# 상하이의 AI-Agent 채용 공고 3페이지를 가져와 분석
python3 scripts/boss_cdp_raw.py \
    --keyword "AI Agent" \
    --city 上海 \
    --pages 3 \
    --format csv \
    --analysis

# 요약 및 이력서 개선 프롬프트 생성
python3 scripts/job_summary.py --top 15

이 명령어들은 --list-cities, --diff-base(새로운 공고 확인), 또는 --close‑chrome(실행 후 보조 브라우저 자동 종료)과 같은 플래그와 결합할 수 있습니다.


추천 대상

  • 구직자: 중국의 급여, 필수 기술 및 기업 트렌드에 대한 최신 시장 데이터를 찾는 분.
  • 커리어 코치 LLM 에이전트: 이력서 제안이나 면접 준비 자료를 생성하기 위해 구조화된 채용 시장 데이터가 필요한 분.
  • 연구원: 중국의 기술직 채용 트렌드를 연구하며 대규모의 깨끗한 데이터셋을 재현 가능한 방식으로 수집해야 하는 분.

제한 사항 및 법적 고지

  • 이 도구는 연구 및 개인 용도로만 사용해야 합니다. BOSS 直聘의 서비스 약관을 준수하며 사용자의 로그인 자격 증명이 필요합니다.
  • 인증 벽을 우회하지 않습니다. 사이트가 요청을 차단하는 경우(예: 속도 제한 또는 안티봇 코드 31/37), 스크래퍼는 중단되고 문제를 보고합니다.
  • 급여 데이터의 신뢰성은 API 응답에 따라 다릅니다. --allow-dom-fallback을 활성화하면 신뢰도가 낮은 난독화된 값이 가져와질 수 있습니다.

라이선스

MIT – 자유롭게 사용, 수정 및 재배포 가능.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트