naukri-job-scraper-mcp
🚀 Naukri.com 求人スクレイパー for Apify
Naukri.com のプロ向け求人スクレイパー - 高度なブラウザ自動化とレジデンシャルプロキシによる包括的な求人情報の抽出。AIエージェント、ChatGPTプラグイン、Claude統合、MCP対応自動化ワークフローに最適です!🤖
🎯 特徴
✨ 包括的なデータ抽出
求人ID、タイトル、会社名
給与レンジと報酬
経験要件(最低/最高年数)
勤務地と勤務形態の詳細
必要スキルと技術
完全な求人内容
求人ページへの直接URL
🔒 ボット対策
リアルなフィンガープリンティングによる Camoufox ブラウザ自動化
Apify 経由のレジデンシャルプロキシ対応
人間らしい挙動のシミュレーション
プロキシの信頼性向上のための GeoIP マッチング
🛡️ 本番環境対応
リトライ付きの堅牢なエラーハンドリング
グレースフルデグラデーション(欠落フィールドは null)
Apify データセットへのリアルタイムデータプッシュ
包括的なログとモニタリング
🤖 AIフレンドリー
Claude、ChatGPT、MCPエージェント向けに設計
クリーンで構造化された JSON 出力
データ鮮度追跡のためのタイムスタンプ記録
AIワークフローとの簡単な統合
Related MCP server: iCIMS Careers API
📊 出力スキーマ
各求人情報には以下のフィールドが含まれます:
フィールド | 型 | 説明 | 例 |
| string | 一意の求人ID |
|
| string | 求人タイトル |
|
| string | 会社名 |
|
| string|null | 給与情報 |
|
| integer|null | 最低経験年数 |
|
| integer|null | 最高経験年数 |
|
| string|null | 勤務地 |
|
| array|null | 必要スキル |
|
| string|null | 求人内容 |
|
| string|null | 求人ページへの直接リンク |
|
| string | スクレイピング日時(ISO 8601) |
|
🚀 クイックスタート
Apify プラットフォームでの実行
このリポジトリから新しい Actor を作成
入力パラメータを設定:
searchQuery: 求人タイトルまたはキーワード(例:「software engineer」)location: 都市名(例:「bangalore」)または全地域の場合は空欄maxResults: スクレイピングする求人件数(1〜500)
Actor を実行し、データセットから結果を取得
入力例
{
"searchQuery": "data scientist",
"location": "bangalore",
"maxResults": 100
}プリフィルの利用
一般的な検索用の便利なプリフィルを用意しています:
🔧 ソフトウェアエンジニア - バンガロール
📊 データサイエンティスト - 全インド
📱 プロダクトマネージャー - ムンバイ
⚙️ DevOpsエンジニア - プネー
💻 フルスタックデベロッパー - ハイデラバード
🤖 AI統合例
Claude Desktop(MCP)
Apify MCP サーバー経由で、Claude Desktop から直接この Actor を使用:
{
"apify": {
"actorId": "your-actor-id",
"input": {
"searchQuery": "machine learning engineer",
"location": "bangalore",
"maxResults": 50
}
}
}ChatGPT Actions
Apify の API を使用して ChatGPT と統合:
openapi: 3.0.0
paths:
/v2/acts/{actorId}/runs:
post:
summary: Scrape Naukri.com jobs
parameters:
- name: actorId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
searchQuery:
type: string
location:
type: string
maxResults:
type: integerPython 統合
from apify_client import ApifyClient
client = ApifyClient('your-apify-token')
# Start the actor
run = client.actor('your-actor-id').call(run_input={
'searchQuery': 'python developer',
'location': 'mumbai',
'maxResults': 100
})
# Fetch results
dataset_items = client.dataset(run['defaultDatasetId']).list_items().items
for job in dataset_items:
print(f"{job['title']} at {job['companyName']}")
print(f"Location: {job['location']}")
print(f"Salary: {job['salary']}")
print(f"Skills: {', '.join(job['skills'] or [])}")
print(f"URL: {job['jobUrl']}\n")Node.js 統合
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'your-apify-token' });
// Start the actor
const run = await client.actor('your-actor-id').call({
searchQuery: 'react developer',
location: 'bangalore',
maxResults: 50
});
// Fetch results
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(job => {
console.log(`${job.title} at ${job.companyName}`);
console.log(`Location: ${job.location}`);
console.log(`Skills: ${job.skills?.join(', ')}`);
});🔧 ローカル開発
前提条件
Python 3.11+
Docker(コンテナ化テスト用)
セットアップ
# Clone the repository
git clone <your-repo-url>
cd naukri-job-scraper-mcp
# Install dependencies
pip install -r requirements.txt
# Set environment variables
export APIFY_TOKEN=your_apify_token
# Run locally
python -m srcApify CLI でのテスト
# Install Apify CLI
npm install -g apify-cli
# Login to Apify
apify login
# Run the actor locally
apify run📋 技術詳細
テクノロジースタック
言語: Python 3.11
ブラウザ自動化: Camoufox(Firefox ベースのステルスブラウザ)
HTML解析: BeautifulSoup4 + lxml
プラットフォーム: Apify Actor Framework
プロキシ: Apify Residential Proxies
アーキテクチャ
┌─────────────────┐
│ Apify Platform │
└────────┬────────┘
│
┌────▼─────┐
│ Actor │
└────┬─────┘
│
┌────▼────────┐
│ Camoufox │ ◄──── Residential Proxy
│ Browser │
└────┬────────┘
│
┌────▼──────────┐
│ Naukri.com │
│ (Next.js SPA)│
└────┬──────────┘
│
┌────▼─────────┐
│ BeautifulSoup│
│ Parser │
└────┬─────────┘
│
┌────▼─────────┐
│ Apify Dataset│
└──────────────┘エラーハンドリング
リトライロジック: 指数バックオフ付きで3回試行
グレースフル障害処理: クラッシュせずに欠落フィールドには
nullを返すプロキシのフォールバック: レジデンシャルプロキシが失敗した場合はプロキシなしで続行
ロギング: デバッグ用の包括的なエラーログ
🌟 ユースケース
🎯 求人市場調査: 給与トレンドとスキル需要の分析
🤖 AI搭載の求人マッチング: LLMにデータを供給してパーソナライズされたレコメンデーションを生成
📈 採用分析: 採用トレンドと企業活動の追跡
🔔 求人アラート: 自動通知システムの構築
💼 キャリアプランニング: 業界別の経験要件の理解
🛠️ カスタマイズ
検索パラメータの変更
src/main.py を編集してカスタムフィルターを追加:
# Add custom filters
experience_filter = actor_input.get('experienceRange', '')
salary_filter = actor_input.get('salaryMin', '')データ抽出の拡張
src/parser.py を編集して追加フィールドを抽出:
# Add new field extraction
posted_date = _clean_text(job_card.select_one('.posted-date').get_text())
job_data['postedDate'] = posted_date📝 ライセンス
MIT ライセンス - 商用・個人プロジェクトを問わず自由にご利用いただけます。
🤝 コントリビューション
コントリビューションを歓迎します!お気軽にプルリクエストをお送りください。
💬 サポート
📧 問題報告: GitHub で issue を開く
💡 機能リクエスト: GitHub Issues 経由で送信
📚 ドキュメント: Apify Documentation
🎉 AI で構築
この Actor は Claude AI の支援を受けて構築され、AIエージェントワークフロー、MCP統合、ChatGPT自動化向けに最適化されています。インテリジェントな求人検索アシスタントの構築に最適です!🚀
AI自動化コミュニティのために ❤️ を込めて作られました
This server cannot be deployed
Maintenance
Related MCP Connectors
Scrape job listings from Greenhouse, Workable, Reed, RemoteOK and other boards. Pay per row.
AI salary, seniority, remote, visa and skills fields for LinkedIn, Indeed or any jobs dataset.
Scrape jobs from Greenhouse, Lever, Ashby, Workable, Recruitee, SmartRecruiters, Personio…
Search job postings across Indeed, LinkedIn, and more from one request - titles, companies
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to search, filter, and extract job listings from LinkedIn using an automated headless browser with semantic AI filtering and deduplication.10 npmMIT
- FlicenseNot gradedqualityBmaintenanceEnables users to retrieve live job postings from any iCIMS career site, providing structured data including title, requisition ID, employer, locations, employment type, dates, salary, and apply links.-
- FlicenseNot gradedqualityBmaintenanceEnables automating job search and applications on Naukri.com, including bulk applying, profile management, application tracking, company research, and recruiter activity monitoring.-
- AlicenseNot gradedqualityBmaintenanceEnables natural-language job search and aggregation from multiple recruitment websites with zero configuration, providing filtered results and standardized output for AI assistants.64 npmISC