Heutzutage erfolgt die Jobsuche größtenteils über Online-Plattformen, sodass es einfacher denn je ist, Stellenangebote zu finden. Mit dieser Bequemlichkeit geht jedoch auch die Herausforderung einher, eine riesige Menge an Informationen zu durchforsten, um die richtigen Stellenangebote zu finden. Hier kommt Web Scraping ins Spiel, eine leistungsstarke Technik aus der Welt der Datenextraktion.
Mithilfe von Web Scraping können Sie Ihre Herangehensweise an die Jobsuche verändern, indem Sie die Erfassung und Organisation von Job-Angebote. Anstatt Stunden damit zu verbringen, manuell verschiedene Jobbörsen und Websites zu durchsuchen, können Sie benutzerdefinierte Web Scraping-Skripte erstellen, um Stellenangebote zu sammeln, zu filtern und anzuzeigen, die auf Ihre Präferenzen zugeschnitten sind. Dies spart Ihnen nicht nur wertvolle Zeit, sondern stellt auch sicher, dass Sie keine versteckten Stellenangebote verpassen, die tief im Web vergraben sein könnten.
In diesem umfassenden Leitfaden werden wir untersuchen, wie Sie das Potenzial von Indeed Scraper nutzen können, indem Sie Crawlbase Crawling API um Ihren Jobsuchprozess auf einer der bekanntesten Websites mit Stellenangeboten zu optimieren. Egal, ob Sie ein Arbeitssuchender sind, der nach der perfekten Karrieremöglichkeit sucht, oder ein Datenenthusiast, der sich für die Beherrschung von Web Scraping-Techniken interessiert, diese Schritt-für-Schritt-Anleitung Python Dieser Leitfaden vermittelt Ihnen die Fähigkeiten, Ihre Jobsuche zu automatisieren und sie effektiver und effizienter zu gestalten. Tauchen Sie mit uns in die Welt des Web Scraping ein und entdecken Sie die unzähligen Möglichkeiten, die es bietet, um Ihre Jobsuche auf Indeed zu vereinfachen.
Was ist ein Job Scraper?
Ein Job Scraper ist eine Software oder ein Code, der Stellenausschreibungen aus verschiedenen Online-Quellen wie Jobbörsen, Unternehmensseiten oder Karriereportalen sammelt. Diese Tools extrahieren wichtige Details wie Berufsbezeichnungen, Beschreibungen, Anforderungen und Bewerbungsmodalitäten. Die gesammelten Daten werden häufig verwendet, um Jobtrends zu untersuchen, den Arbeitsmarkt zu erforschen oder Websites für die Jobsuche zu füllen.
Web Scraping spielt eine entscheidende Rolle bei der Vereinfachung und Optimierung der Jobsuche. So funktioniert es:
Zusammenfassen von Stellenangeboten: Mithilfe von Web Scraping können Sie Stellenangebote aus verschiedenen Quellen und Websites in einem einzigen Datensatz zusammenfassen. So haben Sie an einem Ort Zugriff auf eine Vielzahl von Stellenangeboten und müssen nicht mehrere Websites besuchen.
Automatisierung des Datenabrufs: Anstatt Stellendetails manuell zu kopieren und einzufügen, automatisiert Web Scraping den Datenabrufprozess. Mit dem richtigen Scraping-Skript können Sie Stellenbezeichnungen, Firmennamen, Stellenbeschreibungen, Standorte und mehr extrahieren, ohne wiederholte manuelle Aufgaben ausführen zu müssen.
Benutzerdefinierte Suchen: Mithilfe von Web Scraping können Sie Ihre Jobsuche individuell anpassen. Sie können spezifische Suchkriterien und Filter einrichten, um Stellenangebote zu extrahieren, die Ihren Präferenzen entsprechen. Durch diese Anpassung können Sie sich auf die relevantesten Möglichkeiten konzentrieren.
Echtzeit-Updates: Indem Sie die Ausführung von Web Scraping-Skripten in regelmäßigen Abständen planen, können Sie Echtzeit-Updates zu neuen Stellenangeboten erhalten. So stellen Sie sicher, dass Sie als einer der Ersten über Stellenangebote in Ihrem gewünschten Bereich informiert werden.
In den folgenden Abschnitten werden wir untersuchen, wie Sie Web Scraping nutzen können, insbesondere mithilfe der Crawlbase Crawling API, um Stellenangebote effizient von Indeed zu scrapen. Diese Schritt-für-Schritt-Anleitung vermittelt Ihnen die Fähigkeiten, Ihre Jobsuche zu automatisieren und sie effektiver und effizienter zu gestalten.
Erste Schritte mit Crawlbase Crawling API
Auf Ihrem Weg, die Leistungsfähigkeit des Web Scraping für die Jobsuche auf Indeed zu nutzen, ist es wichtig, die Crawlbase zu verstehen. Crawling API ist von größter Bedeutung. In diesem Abschnitt werden die technischen Aspekte der Crawlbase-API erläutert und Sie erhalten das erforderliche Wissen, um sie nahtlos in Ihr Python-Job-Scraping-Projekt zu integrieren.
Anfrage senden mit Crawling API
Crawlbases Crawling API ist auf Einfachheit und einfache Integration in Ihre Web-Scraping-Projekte ausgelegt. Alle API-URLs beginnen mit dem Basisteil: https://api.crawlbase.com
. Ihr erster API-Aufruf ist so einfach wie das Ausführen eines Befehls in Ihrem Terminal:
1 | curl 'https://api.crawlbase.com/?token=YOUR_CRAWLBASE_TOKEN&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories' |
Hier sehen Sie die token
Parameter, der als Authentifizierungsschlüssel für den Zugriff auf die Web Scraping-Funktionen von Crawlbase dient. Crawlbase bietet zwei Arten von Token an, ein normales (TCP) Token und ein JavaScript (JS) Token. Wählen Sie das normale Token für Websites, die sich nicht stark ändern, wie z. B. statische Websites. Wenn Sie jedoch Informationen von einer Site abrufen möchten, die nur funktioniert, wenn Benutzer Webbrowser mit JavaScript verwenden, oder wenn die wichtigen Dinge, die Sie möchten, auf der Benutzerseite per JavaScript erstellt werden, sollten Sie das JavaScript-Token verwenden. Wie bei Indeed benötigen Sie das JavaScript-Token, um das zu erhalten, was Sie möchten.
API-Antwortzeit und -Format
Bei der Interaktion mit der Crawlbase Crawling APIist es wichtig, die Reaktionszeiten zu verstehen und zu wissen, wie Erfolg oder Misserfolg zu interpretieren sind. Hier ist ein genauerer Blick auf diese Aspekte:
Reaktionszeit: Normalerweise liegt die API-Antwortzeit im Bereich von 4 bis 10 Sekunden. Um ein nahtloses Erlebnis zu gewährleisten und mögliche Verzögerungen auszugleichen, ist es ratsam, ein Timeout für Aufrufe von mindestens 90 Sekunden festzulegen. Dadurch wird sichergestellt, dass Ihre Anwendung Schwankungen bei den Antwortzeiten ohne Unterbrechungen verarbeiten kann.
Antwortformate: Wenn Sie eine Anfrage an Crawlbase stellen, können Sie je nach Ihren Präferenzen und Analyseanforderungen flexibel zwischen den Antwortformaten HTML und JSON wählen. Sie können den Abfrageparameter „format“ mit dem Wert „html“ oder „json“ übergeben, um das erforderliche Format auszuwählen.
Wenn Sie das HTML-Antwortformat auswählen (das ist die Standardeinstellung), erhalten Sie den HTML-Inhalt der Webseite als Antwort. Die Antwortparameter werden den Antwortheadern für einen einfachen Zugriff hinzugefügt. Hier ist eine Beispielantwort:
1 | Headers: |
Wenn Sie sich für das JSON-Antwortformat entscheiden, erhalten Sie ein strukturiertes JSON-Objekt, das in Ihrer Anwendung problemlos analysiert werden kann. Dieses Objekt enthält alle benötigten Informationen, einschließlich der Antwortparameter. Hier ist eine Beispielantwort:
1 | { |
Antwort-Header: Sowohl HTML- als auch JSON-Antworten enthalten wichtige Header, die wertvolle Informationen über die Anfrage und ihr Ergebnis liefern:
url
: Die ursprüngliche URL, die in der Anfrage gesendet wurde, oder die URL aller Weiterleitungen, denen Crawlbase gefolgt ist.original_status
: Die Statusantwort, die Crawlbase beim Crawlen der in der Anfrage gesendeten URL erhält. Es kann jeder gültige HTTP-Statuscode sein.pc_status
: Der Crawlbase (pc)-Statuscode, der jeder beliebige Statuscode sein kann und der Code ist, der am Ende gültig ist. Wenn eine Website beispielsweise einenoriginal_status
von 200 mit einer CAPTCHA-Herausforderung, diepc_status
könnte 503 sein.body
(Nur JSON): Dieser Parameter ist im JSON-Format verfügbar und enthält den Inhalt der Webseite, die Crawlbase als Ergebnis des Proxy-Crawlings der in der Anfrage gesendeten URL gefunden hat.
Mithilfe dieser Antwortparameter können Sie das Ergebnis Ihrer Anfragen beurteilen und feststellen, ob Ihr Web-Scraping-Vorgang erfolgreich war.
Crawling API Parameter
Crawlbase bietet einen umfassenden Satz von Parametern, mit denen Entwickler ihre Web-Crawling-Anfragen anpassen können. Diese Parameter ermöglichen eine Feinabstimmung des Crawling-Prozesses, um bestimmte Anforderungen zu erfüllen. Sie können beispielsweise Antwortformate wie JSON oder HTML mit dem Parameter „format“ angeben oder die Seitenwartezeiten mit „page_wait“ steuern, wenn Sie mit JavaScript-generierten Inhalten arbeiten.
Darüber hinaus können Sie Cookies und Header extrahieren, benutzerdefinierte Benutzeragenten festlegen, Screenshots aufnehmen und sogar Geolokalisierungseinstellungen mithilfe von Parametern wie „get_cookies“, „user_agent“, „screenshot“ und „country“ auswählen. Diese Optionen bieten Flexibilität und Kontrolle über den Web-Crawling-Prozess. Um beispielsweise von der ursprünglichen Website gesetzte Cookies abzurufen, können Sie einfach „&get_cookies=true“ in Ihre API-Anfrage aufnehmen und Crawlbase gibt die Cookies in den Antwortheadern zurück.
Sie können mehr über Crawlbase lesen Crawling API Parameter HIER.
Kostenlose Testversion, Gebührenstrategie und Ratenbegrenzung
Crawlbase bietet eine kostenlose Testversion an, die die ersten 1,000 Anfragen umfasst, sodass Sie die Funktionen testen können, bevor Sie sich festlegen. Es ist jedoch wichtig, diesen Testzeitraum optimal zu nutzen, um das Beste daraus zu machen.
Crawlbase arbeitet nach dem Modell „Zahlen Sie nur, was Sie nutzen“. Wichtig ist, dass Crawlbase nur für erfolgreiche Anfragen Gebühren berechnet, was es für Ihre Web Scraping-Anforderungen kostengünstig und effizient macht. Erfolgreiche Anfragen werden durch die Überprüfung der original_status
und pc_status
in den Antwortparametern.
Die API ist auf maximal 20 Anfragen pro Sekunde und Token begrenzt. Wenn Sie eine höhere Ratenbegrenzung benötigen, können Sie sich an den Support wenden, um Ihre spezifischen Anforderungen zu besprechen.
Crawlbase Python-Bibliothek
Die Crawlbase Python-Bibliothek bietet eine einfache Möglichkeit zur Interaktion mit der Crawlbase Crawling API. Sie können diese leichte und abhängigkeitsfreie Python-Klasse als Wrapper für die Crawlbase-API verwenden. Initialisieren Sie zunächst die Crawling API Klasse mit Ihrem Crawlbase-Token. Anschließend können Sie GET-Anfragen stellen, indem Sie die URL angeben, die Sie scrapen möchten, sowie alle gewünschten Optionen, wie benutzerdefinierte Benutzeragenten oder Antwortformate. Sie können beispielsweise eine Webseite scrapen und auf deren Inhalt wie folgt zugreifen:
1 | für Crawlbase importieren CrawlingAPI |
Diese Bibliothek vereinfacht das Abrufen von Webdaten und ist besonders nützlich für Szenarien, in denen dynamische Inhalte, IP-Rotation und andere erweiterte Funktionen der Crawlbase-API erforderlich sind.
Scrapen Sie Indeed-Daten wie Stellenangebote
Um Stellenanzeigen effektiv von Indeed zu scrapen, ist es wichtig, die Struktur der Website und die Organisation der Stellenangebote zu verstehen.
Website: Wenn Sie zum ersten Mal auf der Homepage von Indeed landen, sehen Sie eine einfache Suchleiste, in die Sie Schlüsselwörter, Berufsbezeichnungen oder Firmennamen eingeben können. Diese Suchfunktion ist Ihr Tor zum Auffinden spezifischer Stellenangebote. Sie können auch Standortdetails angeben, um Ihre Suche auf eine bestimmte Stadt, ein bestimmtes Bundesland oder ein bestimmtes Land einzugrenzen.
Search Results: Wenn Sie Ihre Suchkriterien eingeben und auf die Schaltfläche „Suchen“ klicken, zeigt Indeed eine Liste mit Stellenangeboten an, die Ihrer Suchanfrage entsprechen. Diese Angebote sind in der Regel in umgekehrter chronologischer Reihenfolge angeordnet, wobei die aktuellsten Angebote ganz oben erscheinen. Jedes Angebot enthält wichtige Details wie die Stellenbezeichnung, den Firmennamen, den Standort und eine kurze Stellenbeschreibung.
Filters: Indeed bietet auf der linken Seite der Suchergebnisseite verschiedene Filter an. Mit diesen Filtern können Sie Ihre Suche weiter verfeinern. Sie können Stellenangebote nach Stellenart (z. B. Vollzeit, Teilzeit), Gehaltsschätzung, Standort, Unternehmen und mehr filtern. Mithilfe dieser Filter können Sie Stellenangebote finden, die genau Ihren Kriterien entsprechen.
Seitennummerierung: Wenn es viele Stellenangebote gibt, die Ihrer Suche entsprechen, führt Indeed eine Paginierung durch. Sie werden feststellen, dass auf jeder Seite nur eine begrenzte Anzahl von Stellenangeboten angezeigt wird. Um auf weitere Angebote zuzugreifen, müssen Sie auf die Seitenzahlen oder die Schaltfläche „Weiter“ unten in den Suchergebnissen klicken. Das Verständnis der Paginierung ist entscheidend, um mehrere Seiten mit Stellenangeboten zu durchsuchen.
Einrichten Ihrer Entwicklungsumgebung
Bevor Sie mit dem Web Scraping von Indeed-Stellenausschreibungen mit Python beginnen können, müssen Sie Ihre Entwicklungsumgebung einrichten. Dazu müssen Sie die erforderlichen Tools und Bibliotheken installieren und die richtige integrierte Entwicklungsumgebung (IDE) für Ihre Codierungsaufgaben auswählen.
Python installieren
Python ist die primäre Programmiersprache, die wir für Web Scraping verwenden. Wenn Sie Python noch nicht auf Ihrem System installiert haben, führen Sie diese Schritte aus:
Python herunterladen: Besuchen Sie die offizielle Python-Website unter python.org und laden Sie die neueste Version von Python herunter. Wählen Sie das entsprechende Installationsprogramm für Ihr Betriebssystem (Windows, macOS oder Linux).
Installation: Führen Sie das heruntergeladene Installationsprogramm aus und folgen Sie den Installationsanweisungen. Aktivieren Sie während der Installation unbedingt die Option, die Python zum PATH Ihres Systems hinzufügt. Dieser Schritt ist entscheidend, um Python über die Befehlszeile auszuführen.
Installation überprüfen: Öffnen Sie eine Eingabeaufforderung oder ein Terminal und geben Sie den folgenden Befehl ein, um zu überprüfen, ob Python korrekt installiert ist:
1 | Python --Version |
Sie sollten die installierte Python-Version angezeigt sehen.
Erforderliche Bibliotheken installieren
Python bietet ein umfangreiches Ökosystem an Bibliotheken, die das Web Scraping vereinfachen. Für dieses Projekt benötigen Sie die Crawlbase-Bibliothek zum Erstellen von Webanforderungen mit der Crawlbase-API und die Beautiful Soup-Bibliothek zum Parsen von HTML-Inhalten. Verwenden Sie zum Installieren dieser Bibliotheken die folgenden Befehle:
- Crawlbase: Die
crawlbase
Die Bibliothek ist ein Python-Wrapper für die Crawlbase-API, der es uns ermöglicht, Webanforderungen effizient zu stellen.
1 | pip installieren crawlbase |
- Schöne Suppe: Beautiful Soup ist eine Bibliothek zum Parsen von HTML- und XML-Dokumenten. Sie ist besonders nützlich zum Extrahieren von Daten aus Webseiten.
1 | pip install beautifulsoup4 |
Wenn diese Bibliotheken installiert sind, verfügen Sie über die Tools, die Sie benötigen, um Webseiten mithilfe der Crawlbase-API abzurufen und deren Inhalt während des Scraping-Prozesses zu analysieren.
Auswahl der richtigen Entwicklungs-IDE
Eine integrierte Entwicklungsumgebung (IDE) bietet eine Codierumgebung mit Funktionen wie Codehervorhebung, Autovervollständigung und Debugging-Tools. Sie können Python-Code zwar in einem einfachen Texteditor schreiben, aber die Verwendung einer IDE kann Ihre Entwicklungserfahrung erheblich verbessern.
Hier sind einige beliebte Python-IDEs, die Sie in Betracht ziehen sollten:
PyCharm: PyCharm ist eine robuste IDE mit einer kostenlosen Community Edition. Sie bietet Funktionen wie Codeanalyse, einen visuellen Debugger und Unterstützung für die Webentwicklung.
Visual Studio-Code (VS-Code): VS Code ist ein kostenloser, quelloffener Code-Editor, der von Microsoft entwickelt wurde. Er verfügt über eine umfangreiche Erweiterungsbibliothek und ist daher vielseitig für verschiedene Programmieraufgaben geeignet, einschließlich Web Scraping.
Jupyter Notizbuch: Jupyter Notebook eignet sich hervorragend für interaktive Codierung und Datenexploration. Es wird häufig in Data-Science-Projekten verwendet.
Spyder: Spyder ist eine IDE für wissenschaftliche und datenbezogene Aufgaben. Es bietet Funktionen wie Variablen-Explorer und interaktive Konsole.
Wählen Sie die IDE, die Ihren Präferenzen und Ihrem Arbeitsablauf am besten entspricht. Sobald Sie Python installiert, die erforderlichen Bibliotheken eingerichtet und die von Ihnen gewählte IDE bereit haben, können Sie mit dem Erstellen Ihres Indeed-Job-Scrapers in Python beginnen.
Erstellen Sie Ihren Indeed-Job-Scraper
In diesem Abschnitt führen wir Sie durch den Prozess der Erstellung eines leistungsstarken Indeed-Job-Scrapers mit Python. Mit diesem Scraper können Sie Stellenangebote sammeln, die Seitennummerierung auf Stellensuchseiten verwalten, detaillierte Informationen aus Stellenausschreibungsseiten extrahieren und diese Daten effizient in einer SQLite-Datenbank speichern.
Scraping-Stellenangebote
Um mit dem Scraping von Stellenangeboten von Indeed.com zu beginnen, müssen wir verstehen, wie wir Anfragen an die Website stellen und die Ergebnisse analysieren. Wenn Sie die Homepage von Indeed besuchen und eine Suchanfrage für einen Job stellen, werden Sie feststellen, dass die Website Sie zu einer Such-URL mit bestimmten Parametern weiterleitet, wie diesen:
1 | https://www.indeed.com/jobs?q=Web+Developer&l=Virginia |
Hier suchen wir nach Webentwickler-Jobs in Virginia und die URL enthält Parameter wie q=Web+Developer
für die Jobanfrage und l=Virginia
für den Standort. Um dies mithilfe der Crawlbase-Bibliothek in Ihrem Python-Code zu replizieren, können Sie das folgende Beispiel verwenden:
1 | für Crawlbase importieren CrawlingAPI |
Dieser Codeausschnitt zeigt, wie Sie eine GET-Anfrage an die Jobsuchseite von Indeed senden. Sobald Sie den HTML-Inhalt der Jobangebotsseite haben, können Sie ihn analysieren, um die Jobangebote zu extrahieren.
Wir könnten das HTML-Dokument mit CSS- oder XPath-Selektoren analysieren, aber es geht auch einfacher: Wir können alle tief im HTML versteckten Daten der Stellenausschreibung als JSON-Dokument finden:
Wir können reguläre Ausdrücke verwenden, um diese JSON-Daten effizient zu extrahieren. Lassen Sie uns das vorherige Beispiel aktualisieren, um das Scraping von Stellenangeboten zu handhaben.
1 | importieren re |
Die Funktion, parse_search_page_html
, wird verwendet, um Stellenanzeigendaten aus dem HTML-Quellcode einer Indeed-Stellensuchseite zu extrahieren. Es verwendet reguläre Ausdrücke, um eine bestimmte JavaScript-Variable zu finden mosaic-provider-jobcards
enthält strukturierte Stellenausschreibungsinformationen im JSON-Format. Anschließend analysiert es diese JSON-Daten und extrahiert zwei Hauptkomponenten: „Ergebnisse“, das die Stellenausschreibungen enthält, und „Meta“, das Metadaten zu den Stellenausschreibungen enthält, z. B. die Anzahl der Ergebnisse in verschiedenen Kategorien. Die Funktion gibt diese strukturierten Daten als Python-Wörterbuch zur weiteren Verarbeitung zurück.
Beispielausgabe:
1 | { |
Umgang mit Paginierung
Die Jobsuchergebnisse von Indeed sind normalerweise paginiert. Um die Paginierung zu handhaben und mehrere Seiten mit Stellenangeboten zu sammeln, können Sie die URL-Parameter ändern und zusätzliche Anfragen senden. Um mehrere Seiten zu scrapen, können Sie die URL anpassen start
Parameter oder extrahieren Sie Paginierungsinformationen aus dem HTML.
1 | importieren JSON |
Die scrape_indeed_search
Die Funktion beginnt mit einer ersten Anfrage an die Indeed-Suchseite unter Verwendung der angegebenen Abfrage und des angegebenen Standorts. Anschließend prüft sie den Statuscode der Antwort, um sicherzustellen, dass die Anfrage erfolgreich war (Statuscode 200). Wenn die Anfrage erfolgreich war, analysiert sie die Stellenanzeigendaten aus dem HTML der ersten Seite.
Zur Handhabung der Seitennummerierung berechnet der Code die Gesamtzahl der für die jeweilige Abfrage und den jeweiligen Standort verfügbaren Stellenangebote. Außerdem wird ermittelt, wie viele Seiten durchsucht werden müssen, um das vom Benutzer festgelegte maximale Ergebnislimit zu erreichen. Um die URLs der verbleibenden Seiten zu erfassen, wird eine Liste mit Seiten-URLs generiert, jede mit einem inkrementellen Offset, um den nächsten Ergebnissatz abzurufen.
Dann initiiert es Crawling API Anfrage für jede der generierten Seiten-URLs. Beim Abrufen jeder Seite werden die Stellenangebote extrahiert und der results
Liste. Dieser Ansatz stellt sicher, dass das Skript die Seitennummerierung nahtlos handhaben kann, alle relevanten Stellenangebote durchsucht und gleichzeitig den Abruf mehrerer Seiten effizient verwaltet.
Extrahieren von Daten aus der Seite mit den Stellenausschreibungen
Sobald Sie die Stellenangebote haben, möchten Sie möglicherweise weitere Details extrahieren, indem Sie die gesamten Seiten mit den Stellenangeboten durchsuchen. Die Suchergebnisse umfassen fast alle Informationen zu den Stellenangeboten, mit Ausnahme bestimmter Einzelheiten wie einer umfassenden Stellenbeschreibung. Um diese fehlenden Informationen zu extrahieren, benötigen wir die Stellen-ID, die praktischerweise im Feld „Jobkey“ in unseren Suchergebnissen zu finden ist:
1 | { |
Mithilfe dieses Jobschlüssels können wir eine Anfrage für die vollständige Seite mit den Jobdetails senden. Ähnlich wie bei unserer ersten Suche können wir die eingebetteten Daten anstelle der HTML-Struktur analysieren:
Diese Daten sind in der Variable _initialData versteckt und können mithilfe eines einfachen regulären Ausdrucksmusters abgerufen werden. So können Sie das tun:
1 | importieren JSON |
Beispielausgabe:
1 | [ |
Speichern von Daten in einer SQLite-Datenbank
Zum Speichern der extrahierten Jobdaten können Sie eine SQLite-Datenbank verwenden. Hier ist ein Beispielcode zum Erstellen einer Datenbank, zum Erstellen einer Tabelle für Stellenausschreibungen und zum Einfügen von Daten in diese.
1 | importieren JSON |
Dieser Code initialisiert zunächst die Datenbankstruktur und erstellt eine Tabelle mit dem Namen „jobs“, in der Informationen wie Berufsbezeichnungen, Firmennamen, Standorte und Stellenbeschreibungen gespeichert werden. Die initialize_database
Funktion initialisiert die SQLite-Datenbank und gibt sowohl die Verbindung als auch den Cursor zurück. Die save_to_database
Die Funktion ist für das Einfügen der Auftragsdetails in diese Tabelle zuständig.
Der eigentliche Web Scraping Prozess findet im scrape_and_save
Funktion, die einen Jobschlüssel (eine eindeutige Kennung für jede Stellenausschreibung) und einen SQLite-Cursor als Eingabe verwendet. Diese Funktion erstellt die URL für eine bestimmte Stellenausschreibung, sendet eine HTTP-Anfrage an die Indeed-Website, ruft den HTML-Inhalt der Stellenseite ab und analysiert ihn dann mithilfe der parse_job_page_html
Funktion. Diese analysierten Daten, einschließlich Berufsbezeichnung, Firmenname, Standort und Stellenbeschreibung, werden dann mithilfe der save_to_database
Funktion.
Die main
Funktion orchestriert den gesamten Prozess. Sie initialisiert die Datenbankverbindung und Crawling API Instanz, definiert eine Liste der zu scrapenden Jobschlüssel und führt die Scraping- und Speicheraufgaben für jeden Jobschlüssel aus. Sobald alle Jobdetails gescrapt und gespeichert wurden, wird die Datenbankverbindung geschlossen.
Indem Sie diese detaillierten Schritte befolgen, können Sie einen umfassenden Indeed-Job-Scraper in Python erstellen, Stellenangebote scrapen, die Paginierung handhaben, Daten aus Stellenangebotsseiten extrahieren und die Daten zur weiteren Analyse oder Verwendung in einer SQLite-Datenbank speichern.
Optimieren Sie Ihren Indeed Scraper mit Python und Crawlbase
Online-Plattformen stehen für Arbeitssuchende an erster Stelle und bieten ihnen viele Möglichkeiten auf Knopfdruck. Diese Benutzerfreundlichkeit geht jedoch mit der entmutigenden Aufgabe einher, ein Meer an Informationen zu durchforsten. Web Scraping ist ein bahnbrechender Prozess der Datenerfassung, der unsere Strategien zur Arbeitssuche neu gestaltet.
Durch den Einsatz von Web Scraping können wir die Art und Weise unserer Jobsuche revolutionieren. Es automatisiert den mühsamen Prozess des Sammelns und Sortierens von Stellenangeboten aus verschiedenen Portalen. Sie müssen nicht mehr unzählige Stunden damit verbringen, verschiedene Jobbörsen manuell zu durchsuchen. Mit maßgeschneiderten Web Scraping-Skripten können Sie Stellenangebote, die Ihren Präferenzen entsprechen, ganz einfach sammeln, kategorisieren und anzeigen. Das spart Zeit und stellt sicher, dass kein noch so unscheinbares potenzielles Stellenangebot durch die Maschen rutscht.
Unser umfassender Leitfaden beleuchtet die Web Scraping-Funktionen von Crawlbase Crawling API, mit Schwerpunkt auf der Anwendung für die renommierte Jobbörse Indeed. Egal, ob Sie nach einem idealen Job suchen oder ein Technikbegeisterter sind, der Scraping-Techniken erlernen möchte, dieser Python-Leitfaden bietet die Tools zur Automatisierung und Verfeinerung Ihrer Jobsuche. Begleiten Sie uns auf unserer Reise, während wir Ihnen zeigen, wie Web Scraping Ihre Suche nach dem perfekten Job auf Indeed vereinfachen und optimieren kann.
Häufig gestellte Fragen
Ist es möglich, Indeed zu scrapen?
Sie können Stellenausschreibungen von Indeed scrapen, aber das verstößt gegen deren Regeln. Indeed versucht, Scraping zu verhindern und verwendet Dinge wie CAPTCHAs und Beschränkungen, wie oft Sie auf die Website zugreifen können, um automatisiertes Scraping zu verhindern. Wenn Sie diese Regeln brechen, bekommen Sie möglicherweise rechtliche Probleme oder Ihre IP-Adresse wird gesperrt. Anstatt Scraping bietet Indeed APIs oder andere Möglichkeiten, um an ihre Daten für zugelassene Partner zu gelangen, was eine legalere Möglichkeit ist, auf das zuzugreifen, was sie haben.
Wie kann ich Leads aus Indeed extrahieren?
Wenn Sie sich dafür entscheiden, Stellenausschreibungen oder potenzielle Leads von Indeed zu sammeln (auch wenn dies riskant ist), sollten Sie grundsätzlich folgende Schritte unternehmen:
- Wählen Sie Ihre Ziel-URLs aus: Finden Sie heraus, von welchen Stellenangeboten oder Suchseiten auf Indeed Sie Daten sammeln möchten.
- Sehen Sie sich an, wie die Site aufgebaut ist: Verwenden Sie die Entwicklertools Ihres Browsers, um die HTML-Tags zu finden, die Berufsbezeichnungen, Beschreibungen, Firmennamen und Standorte enthalten. 3. Erstellen Sie ein Programm zum Sammeln von Daten: Verwenden Sie eine Programmiersprache wie Python mit Tools wie BeautifulSoup und Scrapy, um die Informationen aus diesen HTML-Tags zu extrahieren.
- Umgang mit CAPTCHAs und Beschränkungen: Überlegen Sie sich Möglichkeiten, CAPTCHAs zu umgehen und Ihre Anfragen zu verlangsamen, damit die Site Sie nicht blockiert.
- Bewahren Sie die Informationen auf: Speichern Sie die gesammelten Daten in einer Datenbank oder CSV-Datei, damit Sie später damit arbeiten können.
Was ist der beste Job-Scraper?
Der beste Job Scraper hängt von Ihren spezifischen Anforderungen ab, z. B. von der Plattform, auf die Sie abzielen, und vom Umfang der Datenerfassung. Als umfassende und zuverlässige Lösung ist Crawlbase eine der besten Optionen für Job Scraping.
Crawlbase Crawling API bietet innovative Funktionen wie:
- Vielseitige Parameteroptionen: Crawlbase bietet einen umfangreichen Parametersatz, mit dem Entwickler ihre API-Anfragen präzise anpassen können. Parameter wie „Format“, „User_Agent“, „Page_Wait“ und mehr ermöglichen die Anpassung an spezifische Crawling-Anforderungen.
- Steuerung des Antwortformats: Entwickler können je nach ihren Präferenzen und Datenverarbeitungsanforderungen zwischen den Antwortformaten JSON und HTML wählen. Diese Flexibilität vereinfacht die Datenextraktion und -bearbeitung.
- Handhabung von Cookies und Headern: Durch die Möglichkeit, Cookies und Header mithilfe von Parametern wie „get_cookies“ und „get_headers“ von der ursprünglichen Website abzurufen, können Entwickler auf wertvolle Informationen zugreifen, die für bestimmte Web-Scraping-Aufgaben von entscheidender Bedeutung sein können.
- Dynamische Inhaltsverarbeitung: Crawlbase zeichnet sich durch die Verarbeitung dynamischer Inhalte aus und eignet sich daher zum Crawlen von mit JavaScript gerenderten Seiten. Parameter wie „page_wait“ und „ajax_wait“ ermöglichen es Entwicklern, sicherzustellen, dass die API den vollständig gerenderten Inhalt erfasst, auch wenn das Laden einige Zeit in Anspruch nimmt oder AJAX-Anfragen enthält.
- IP-Rotation: Crawlbase bietet die Möglichkeit, IP-Adressen zu rotieren, was Anonymität gewährleistet und das Risiko verringert, von Websites blockiert zu werden. Diese Funktion gewährleistet eine höhere Erfolgsquote bei Web-Crawling-Aufgaben.
- Geolokalisierungsoptionen: Entwickler können mit dem Parameter „country“ ein Land für geolokalisierte Anfragen angeben. Dies ist insbesondere in Szenarien nützlich, in denen Daten aus bestimmten geografischen Regionen erforderlich sind.
- Tor-Netzwerk-Unterstützung: Zum Crawlen von Onion-Websites über das Tor-Netzwerk kann der Parameter „tor_network“ aktiviert werden, wodurch die Privatsphäre und der Zugriff auf Inhalte im Dark Web verbessert werden.
- Screenshot-Aufnahme: Mit dem Parameter „Screenshot“ kann die API Screenshots von Webseiten erfassen und so einen visuellen Kontext für die gecrawlten Daten bereitstellen.
- Datenscraping mit Scrapern: Crawlbase bietet die Möglichkeit, vordefinierte Daten-Scraper zu verwenden, wodurch die Extraktion spezifischer Informationen aus Webseiten optimiert wird. Dies vereinfacht den Datenabruf für gängige Anwendungsfälle.
- Asynchrones Crawlen: In Fällen, in denen asynchrones Crawling erforderlich ist, unterstützt die API den Parameter „async“. Entwickler erhalten eine Anforderungskennung (RID) zum Abrufen gecrawlter Daten aus dem Cloud-Speicher.
- Automatisches Parsen: Der Parameter „autoparse“ vereinfacht die Datenextraktion, indem er analysierte Informationen im JSON-Format zurückgibt und so die Notwendigkeit einer umfangreichen Nachbearbeitung von HTML-Inhalten reduziert.