naukri-job-scraper-mcp
🚀 Скрейпер вакансий Naukri.com для Apify
Профессиональный скрейпер вакансий для Naukri.com — Извлекайте полные списки вакансий с помощью продвинутой автоматизации браузера и резидентных прокси. Идеально подходит для AI-агентов, плагинов ChatGPT, интеграций Claude и автоматизации на базе MCP! 🤖
🎯 Возможности
✨ Полное извлечение данных
ID вакансии, название, название компании
Диапазоны зарплат и компенсации
Требования к опыту (мин/макс лет)
Местоположение и детали рабочего места
Требуемые навыки и технологии
Полные описания вакансий
Прямые URL вакансий
🔒 Защита от ботов
Автоматизация браузера Camoufox с реалистичным фингерпринтингом
Поддержка резидентных прокси через Apify
Симуляция человеческого поведения
Сопоставление GeoIP для подлинности прокси
🛡️ Готовность к продакшену
Надёжная обработка ошибок с повторными попытками
Плавное снижение функциональности (null для отсутствующих полей)
Отправка данных в реальном времени в набор данных Apify
Полное логирование и мониторинг
🤖 Дружелюбность к ИИ
Создан для агентов Claude, ChatGPT и MCP
Чистый структурированный JSON-вывод
Отслеживание временных меток для свежести данных
Лёгкая интеграция с ИИ-процессами
Related MCP server: JobSpy MCP Server
📊 Схема вывода
Каждое объявление о вакансии включает следующие поля:
Field | Type | Description | Example |
| 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
🤖 Примеры интеграции с ИИ
Claude Desktop (MCP)
Используйте этот actor напрямую из Claude Desktop через сервер Apify MCP:
{
"apify": {
"actorId": "your-actor-id",
"input": {
"searchQuery": "machine learning engineer",
"location": "bangalore",
"maxResults": 50
}
}
}Действия ChatGPT
Интегрируйте с ChatGPT с помощью API Apify:
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: integerИнтеграция с Python
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 srcТестирование с помощью Apify 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для отсутствующих полей вместо сбояЗапасной вариант прокси: Продолжает работу без прокси, если резидентный прокси не работает
Логирование: Полное логирование ошибок для отладки
🌟 Варианты использования
🎯 Исследование рынка труда: Анализ тенденций зарплат и спроса на навыки
🤖 Подбор вакансий с помощью ИИ: Передача данных в 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 — не стесняйтесь использовать этот actor для коммерческих или личных проектов.
🤝 Вклад
Вклад приветствуется! Пожалуйста, не стесняйтесь отправлять Pull Request.
💬 Поддержка
📧 Проблемы: Откройте issue на GitHub
💡 Запросы функций: Отправляйте через GitHub Issues
📚 Документация: Документация Apify
🎉 Создано с помощью ИИ
Этот actor был создан с помощью Claude AI и оптимизирован для рабочих процессов ИИ-агентов, интеграций MCP и автоматизации ChatGPT. Идеально подходит для создания интеллектуальных помощников по поиску работы! 🚀
Сделано с ❤️ для сообщества автоматизации ИИ
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