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 (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 直聘 へのログインを求め、Cookie をローカルに保存します。
  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 – 自由に使用、変更、再配布が可能です。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト