Heim >Backend-Entwicklung >Python-Tutorial >Suchen Sie Startup -Jobs mit Python und LLMs

Suchen Sie Startup -Jobs mit Python und LLMs

DDD
DDDOriginal
2025-01-27 20:15:13327Durchsuche

Search startup jobs with Python and LLMs

Viele Unternehmenswebsites veröffentlichen Jobinformationen, die auf den gängigen Jobsuchwebsites nicht immer zu finden sind. Beispielsweise kann es eine Herausforderung sein, Jobs bei Remote-Startups zu finden, da diese Unternehmen möglicherweise nicht einmal auf Jobbörsen aufgeführt sind. Um diese Jobs zu finden, benötigen Sie:

  • Auf der Suche nach Unternehmen mit Potenzial
  • Durchsuchen Sie ihre Karriereseite
  • Verfügbare Stellenangebote analysieren
  • Auftragsdetails manuell aufzeichnen

Das ist sehr zeitaufwändig, aber wir werden es automatisieren.

Vorbereitung

Wir werden die Parsera-Bibliothek verwenden, um das Job-Scraping zu automatisieren. Parsera bietet zwei Nutzungsmöglichkeiten:

  • Lokaler Modus: Verarbeiten Sie die Seite auf Ihrem Computer mit dem LLM Ihrer Wahl;
  • API-Modus: Die gesamte Verarbeitung erfolgt auf den Servern von Parsera.
In diesem Beispiel verwenden wir den lokalen Modus, da es sich um eine einmalige, kleine Extraktion handelt.

Installieren Sie zunächst die erforderlichen Pakete:

<code>pip install parsera
playwright install</code>
Da wir ein lokales Setup ausführen, ist eine LLM-Verbindung erforderlich. Der Einfachheit halber verwenden wir gpt-4o-mini von OpenAI und müssen nur eine Umgebungsvariable festlegen:

<code>import os
from parsera import Parsera

os.environ["OPENAI_API_KEY"] = "<your_openai_api_key_here>"

scraper = Parsera(model=llm)
</your_openai_api_key_here></code>
Nachdem alles eingerichtet ist, können wir mit dem Crawlen beginnen.

Schritt 1: Holen Sie sich die Liste der neuesten Finanzierungs-Startups der Serie A

Zuerst müssen wir eine Liste der Unternehmen finden, an denen wir interessiert sind, und deren Websites. Ich habe eine Liste von 100 Startups gefunden, die letzten Monat eine Serie-A-Finanzierung eingeworben haben. Wachstumsunternehmen und Unternehmen mit neuen Finanzierungsrunden scheinen eine gute Wahl zu sein.

Lassen Sie uns die Länder und Websites dieser Unternehmen abrufen:

<code>url = "https://growthlist.co/series-a-startups/"
elements = {
    "Website": "公司的网站",
    "Country": "公司的国家",
}
all_startups = await scraper.arun(url=url, elements=elements)</code>
Mit den Länderinformationen können wir die Länder filtern, die uns interessieren. Grenzen wir unsere Suche auf die Vereinigten Staaten ein:

<code>us_websites = [
    item["Website"] for item in all_startups if item["Country"] == "United States"
]</code>
Schritt 2: Karriereseiten finden

Jetzt haben wir eine Liste von Start-up-Websites zur Finanzierung der Serie A aus den Vereinigten Staaten. Der nächste Schritt besteht darin, ihre Karriereseite zu finden. Wir beziehen die Karriereseite direkt von ihrer Homepage:

<code>from urllib.parse import urljoin

# 定义我们的目标
careers_target = {"url": "职业页面网址"}

careers_pages = []
for website in us_websites:
    website = "https://" + website
    result = await scraper.arun(url=website, elements=careers_target)
    if len(result) > 0:
        url = result[0]["url"]
        if url.startswith("/") or url.startswith("./"):
            url = urljoin(website, url)
        careers_pages.append(url)</code>
Beachten Sie, dass Sie diesen Schritt optional durch die Such-API und den LLM-Aufruf durch einen Suchaufruf ersetzen können.

Schritt 3: Ergreifen Sie offene Stellen

Der letzte Schritt besteht darin, alle offenen Stellen von der Karriereseite der Website zu laden. Nehmen wir an, wir suchen nach einem Job im Bereich Software-Engineering. Dann suchen wir nach der Berufsbezeichnung, dem Standort, dem Link und, wenn es sich um Software-Engineering handelt:

<code>jobs_target = {
    "Title": "职位的名称",
    "Location": "职位的所在地",
    "Link": "职位发布的链接",
    "SE": "如果这是软件工程职位,则为True,否则为False",
}

jobs = []
for page in careers_pages:
    result = await scraper.arun(url=page, elements=jobs_target)
    if len(result) > 0:
        for row in result:
            row["url"] = page
            row["Link"] = urljoin(row["url"], row["Link"])
    jobs.extend(result)</code>
Nachdem alle Positionen extrahiert wurden, können wir alle Nicht-Software-Engineering-Positionen herausfiltern und in einer CSV-Datei speichern:

<code>import csv

engineering_jobs = [job for job in jobs if job["SE"] == "True"]

with open("jobs.csv", "w") as f:
    write = csv.writer(f)
    write.writerow(engineering_jobs[0].keys())
    for job in engineering_jobs:
        write.writerow(job.values())
</code>
Schließlich erhalten wir eine Tabelle mit einer Liste der Positionen, wie unten gezeigt:

职位名称 所在地 链接 软件工程职位 网址
AI技术主管经理 班加罗尔 https://job-boards.greenhouse.io/enterpret/jobs/6286095003 True https://boards.greenhouse.io/enterpret/
后端开发人员 特拉维夫 https://www.upwind.io/careers/co/tel-aviv/BA.04A/backend-developer/all#jobs True https://www.upwind.io/careers
... ... ... ... ...
Schlussfolgerung -------------
Als nächstes können wir denselben Vorgang wiederholen, um weitere Informationen aus der vollständigen Positionsliste zu extrahieren. Holen Sie sich beispielsweise die Arbeit von Technologie -Stapel oder Filter -Remote -Startup. Dies speichert die Zeit, alle Seiten manuell zu beobachten. Sie können versuchen, das Linkfeld zu iterieren und die Elemente zu extrahieren, an denen Sie interessiert sind.

Ich hoffe, dieser Artikel ist hilfreich.

Das obige ist der detaillierte Inhalt vonSuchen Sie Startup -Jobs mit Python und LLMs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn