Skip to main content
Glama
roshtarg-cpu

naukri-job-scraper-mcp

by roshtarg-cpu

🚀 Naukri.com Job Scraper for Apify

Apify Actor Python 3.11+ License: MIT

Professioneller Job-Scraper für Naukri.com - Extrahiert umfassende Stellenangebote mit fortschrittlicher Browser-Automatisierung und Residential-Proxys. Perfekt für KI-Agenten, ChatGPT-Plugins, Claude-Integrationen und MCP-gestützte Automatisierungsworkflows! 🤖

🎯 Features

✨ Umfassende Datenextraktion

  • Job-ID, Titel, Firmenname

  • Gehaltsspannen und Vergütung

  • Erfahrungsanforderungen (min./max. Jahre)

  • Standort- und Arbeitsplatzdetails

  • Erforderliche Fähigkeiten und Technologien

  • Vollständige Stellenbeschreibungen

  • Direkte Job-URLs

🔒 Anti-Bot-Schutz

  • Camoufox-Browser-Automatisierung mit realistischem Fingerprinting

  • Residential-Proxy-Unterstützung über Apify

  • Simulation menschlichen Verhaltens

  • GeoIP-Abgleich für Proxy-Authentizität

🛡️ Produktionsreif

  • Robuste Fehlerbehandlung mit Wiederholungen

  • Graceful Degradation (null für fehlende Felder)

  • Echtzeit-Datenübertragung an den Apify-Datensatz

  • Umfassende Protokollierung und Überwachung

🤖 KI-freundlich

  • Entwickelt für Claude-, ChatGPT- und MCP-Agenten

  • Saubere, strukturierte JSON-Ausgabe

  • Zeitstempel-Verfolgung für Datenaktualität

  • Einfache Integration in KI-Workflows

Related MCP server: iCIMS Careers API

📊 Ausgabeschema

Jeder Stelleneintrag enthält die folgenden Felder:

Feld

Typ

Beschreibung

Beispiel

jobId

string

Eindeutige Job-Kennung

"290524001234"

title

string

Jobtitel

"Senior Software Engineer"

companyName

string

Firmenname

"Tech Corp India"

salary

string|null

Gehaltsinformationen

"15-25 Lacs P.A."

experienceMin

integer|null

Mindest Erfahrung (Jahre)

3

experienceMax

integer|null

Maximale Erfahrung (Jahre)

5

location

string|null

Jobstandort

"Bangalore, Pune"

skills

array|null

Erforderliche Fähigkeiten

["Python", "AWS", "Docker"]

jobDescription

string|null

Stellenbeschreibung

"We are looking for..."

jobUrl

string|null

Direkter Link zur Stellenausschreibung

"https://www.naukri.com/..."

scrapedAt

string

Scraping-Zeitstempel (ISO 8601)

"2024-08-21T10:30:00.000Z"

🚀 Schnellstart

Ausführen auf der Apify-Plattform

  1. Erstellen Sie einen neuen Actor aus diesem Repository

  2. Konfigurieren Sie die Eingabeparameter:

    • searchQuery: Jobtitel oder Schlüsselwörter (z. B. „software engineer")

    • location: Stadtname (z. B. „bangalore") oder leer lassen für alle Standorte

    • maxResults: Anzahl der zu scrapenden Jobs (1-500)

  3. Führen Sie den Actor aus und greifen Sie auf die Ergebnisse aus dem Datensatz zu

Eingabebeispiel

{
  "searchQuery": "data scientist",
  "location": "bangalore",
  "maxResults": 100
}

Verwendung von Prefills

Wir bieten praktische Prefills für häufige Suchanfragen:

  • 🔧 Software Engineer - Bangalore

  • 📊 Data Scientist - All India

  • 📱 Product Manager - Mumbai

  • ⚙️ DevOps Engineer - Pune

  • 💻 Full Stack Developer - Hyderabad

🤖 KI-Integrationsbeispiele

Claude Desktop (MCP)

Verwenden Sie diesen Actor direkt über den Apify-MCP-Server in Claude Desktop:

{
  "apify": {
    "actorId": "your-actor-id",
    "input": {
      "searchQuery": "machine learning engineer",
      "location": "bangalore",
      "maxResults": 50
    }
  }
}

ChatGPT Actions

Integrieren Sie ChatGPT über die Apify-API:

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-Integration

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-Integration

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(', ')}`);
});

🔧 Lokale Entwicklung

Voraussetzungen

  • Python 3.11+

  • Docker (für containerisierte Tests)

Einrichtung

# 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

Testen mit der Apify-CLI

# Install Apify CLI
npm install -g apify-cli

# Login to Apify
apify login

# Run the actor locally
apify run

📋 Technische Details

Technologie-Stack

  • Sprache: Python 3.11

  • Browser-Automatisierung: Camoufox (Firefox-basierter Stealth-Browser)

  • HTML-Parsing: BeautifulSoup4 + lxml

  • Plattform: Apify-Actor-Framework

  • Proxy: Apify-Residential-Proxys

Architektur

┌─────────────────┐
│  Apify Platform │
└────────┬────────┘
         │
    ┌────▼─────┐
    │   Actor  │
    └────┬─────┘
         │
    ┌────▼────────┐
    │  Camoufox   │ ◄──── Residential Proxy
    │  Browser    │
    └────┬────────┘
         │
    ┌────▼──────────┐
    │  Naukri.com   │
    │  (Next.js SPA)│
    └────┬──────────┘
         │
    ┌────▼─────────┐
    │  BeautifulSoup│
    │  Parser       │
    └────┬─────────┘
         │
    ┌────▼─────────┐
    │ Apify Dataset│
    └──────────────┘

Fehlerbehandlung

  • Wiederholungslogik: 3 Versuche mit exponentiellem Backoff

  • Graceful Failures: Gibt null für fehlende Felder zurück, anstatt abzustürzen

  • Proxy-Fallback: Fährt ohne Proxy fort, wenn der Residential-Proxy fehlschlägt

  • Protokollierung: Umfassende Fehlerprotokollierung für die Fehlersuche

🌟 Anwendungsfälle

  • 🎯 Arbeitsmarktforschung: Gehaltstrends und Qualifikationsanforderungen analysieren

  • 🤖 KI-gestütztes Job-Matching: Daten an LLMs für personalisierte Empfehlungen weitergeben

  • 📈 Rekrutierungsanalysen: Einstellungstrends und Unternehmensaktivitäten verfolgen

  • 🔔 Job-Benachrichtigungen: Automatisierte Benachrichtigungssysteme erstellen

  • 💼 Karriereplanung: Erfahrungsanforderungen in verschiedenen Branchen verstehen

🛠️ Anpassung

Suchparameter ändern

Bearbeiten Sie src/main.py, um benutzerdefinierte Filter hinzuzufügen:

# Add custom filters
experience_filter = actor_input.get('experienceRange', '')
salary_filter = actor_input.get('salaryMin', '')

Datenextraktion erweitern

Bearbeiten Sie src/parser.py, um zusätzliche Felder zu extrahieren:

# Add new field extraction
posted_date = _clean_text(job_card.select_one('.posted-date').get_text())
job_data['postedDate'] = posted_date

📝 Lizenz

MIT-Lizenz - Sie können diesen Actor frei für kommerzielle oder persönliche Projekte verwenden.

🤝 Mitwirken

Beiträge sind willkommen! Reichen Sie gerne einen Pull Request ein.

💬 Support

  • 📧 Issues: Öffnen Sie ein Issue auf GitHub

  • 💡 Feature-Anfragen: Über GitHub-Issues einreichen

  • 📚 Dokumentation: Apify-Dokumentation

🎉 Mit KI erstellt

Dieser Actor wurde mit Unterstützung von Claude AI erstellt und ist für KI-Agenten-Workflows, MCP-Integrationen und ChatGPT-Automatisierung optimiert. Perfekt für die Entwicklung intelligenter Jobsuch-Assistenten! 🚀


Mit ❤️ für die KI-Automatisierungs-Community erstellt

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to search, filter, and extract job listings from LinkedIn using an automated headless browser with semantic AI filtering and deduplication.
    10 npm
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables 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.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables natural-language job search and aggregation from multiple recruitment websites with zero configuration, providing filtered results and standardized output for AI assistants.
    64 npm
    ISC