naukri-job-scraper-mcp
🚀 Apify용 Naukri.com 채용 정보 스크래퍼
Naukri.com 전문 채용 정보 스크래퍼 - 고급 브라우저 자동화와 리지덴셜 프록시를 통해 포괄적인 채용 정보를 추출합니다. AI 에이전트, ChatGPT 플러그인, Claude 통합, MCP 기반 자동화 워크플로우에 완벽합니다! 🤖
🎯 주요 기능
✨ 포괄적인 데이터 추출
채용 ID, 제목, 회사명
급여 범위 및 보상 정보
경력 요구 사항(최소/최대 연차)
근무지 및 근무 형태 정보
필요 기술 및 기술 스택
전체 채용 공고 설명
채용 공고 직접 URL
🔒 안티봇 보호
현실적인 핑거프린팅을 갖춘 Camoufox 브라우저 자동화
Apify를 통한 리지덴셜 프록시 지원
인간과 유사한 행동 시뮬레이션
프록시 신뢰성을 위한 GeoIP 매칭
🛡️ 프로덕션 준비 완료
재시도 기능을 갖춘 견고한 오류 처리
우아한 폴백(누락된 필드는 null 처리)
Apify 데이터셋으로 실시간 데이터 푸시
포괄적인 로깅 및 모니터링
🤖 AI 친화적
Claude, ChatGPT, MCP 에이전트용으로 설계
깔끔하고 구조화된 JSON 출력
데이터 신선도를 위한 타임스탬프 추적
AI 워크플로우와 쉬운 통합
Related MCP server: JobSpy MCP Server
📊 출력 스키마
각 채용 공고에는 다음 필드가 포함됩니다:
필드 | 유형 | 설명 | 예시 |
| string | 고유 채용 식별자 |
|
| 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
}프리필 사용
일반적인 검색을 위한 편리한 프리필을 제공합니다:
🔧 Software Engineer - Bangalore
📊 Data Scientist - All India
📱 Product Manager - Mumbai
⚙️ DevOps Engineer - Pune
💻 Full Stack Developer - Hyderabad
🤖 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 License - 상업용 또는 개인 프로젝트에 자유롭게 사용하세요.
🤝 기여
기여를 환영합니다! Pull Request를 자유롭게 제출해 주세요.
💬 지원
📧 이슈: GitHub에서 이슈를 열어주세요
💡 기능 요청: GitHub Issues를 통해 제출
📚 문서: Apify Documentation
🎉 AI로 제작됨
이 actor는 Claude AI의 도움으로 제작되었으며 AI 에이전트 워크플로우, MCP 통합, ChatGPT 자동화에 최적화되어 있습니다. 지능형 채용 검색 어시스턴트 구축에 완벽합니다! 🚀
AI 자동화 커뮤니티를 위해 ❤️로 제작됨
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to search and retrieve real-time job listings from the Technopark job portal using Puppeteer web scraping. Users can search by role or keyword to obtain job details including company name, closing date, and posted date.
- AlicenseNot gradedqualityAmaintenanceEnables job search and scraping across multiple job boards (LinkedIn, Indeed, Glassdoor, etc.) with advanced filtering, directly from Claude Desktop or other MCP clients.5MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to search, filter, and extract job listings from LinkedIn using an automated headless browser with semantic AI filtering and deduplication.15MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search and analyze LinkedIn jobs with advanced filters, salary requirements, and market insights through natural language.21MIT
Related MCP Connectors
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
Search AI-native jobs, inspect application forms, and fetch free interview-prep resources.
Enable language models to perform advanced AI-powered web scraping with enterprise-grade reliabili…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/roshtarg-cpu/naukri-job-scraper-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server