Rumah >pembangunan bahagian belakang >Tutorial Python >Cari kerja permulaan dengan Python dan LLM

Cari kerja permulaan dengan Python dan LLM

DDD
DDDasal
2025-01-27 20:15:13268semak imbas

Search startup jobs with Python and LLMs

Banyak laman web syarikat menyiarkan maklumat pekerjaan yang tidak selalu ditemui di laman web carian kerja arus perdana. Sebagai contoh, mencari pekerjaan di syarikat permulaan jauh boleh mencabar kerana syarikat ini mungkin tidak disenaraikan di tapak kerja. Untuk mencari pekerjaan ini anda perlukan:

  • Mencari syarikat yang berpotensi
  • Cari halaman kerjaya mereka
  • Analisis penyenaraian pekerjaan yang tersedia
  • Rekod butiran kerja secara manual

Ini sangat memakan masa tetapi kami akan mengautomasikannya.

Persediaan

Kami akan menggunakan perpustakaan Parsera untuk mengautomasikan pengikisan kerja. Parsera menawarkan dua pilihan penggunaan:

  • Mod Setempat: Proses halaman pada mesin anda menggunakan LLM pilihan anda;
  • Mod API: Semua pemprosesan dilakukan pada pelayan Parsera.
Dalam contoh ini kami akan menggunakan mod tempatan kerana ini adalah pengekstrakan sekali sahaja, berskala kecil.

Mula-mula, pasang pakej yang diperlukan:

<code>pip install parsera
playwright install</code>
Memandangkan kami menjalankan persediaan setempat, sambungan LLM diperlukan. Untuk memudahkan, kami akan menggunakan gpt-4o-mini OpenAI dan hanya perlu menetapkan satu pembolehubah persekitaran:

<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>
Selepas semuanya disediakan, kita boleh mula merangkak.

Langkah 1: Dapatkan senarai syarikat permulaan pembiayaan Siri A terbaharu

Pertama, kita perlu mencari senarai syarikat yang kita minati dan tapak web mereka. Saya menjumpai senarai 100 syarikat permulaan yang menaikkan pembiayaan Siri A bulan lepas. Syarikat pertumbuhan dan syarikat dengan pusingan pembiayaan baharu nampaknya merupakan pilihan yang baik.

Mari dapatkan negara dan tapak web syarikat ini:

<code>url = "https://growthlist.co/series-a-startups/"
elements = {
    "Website": "公司的网站",
    "Country": "公司的国家",
}
all_startups = await scraper.arun(url=url, elements=elements)</code>
Dengan maklumat negara, kami boleh menapis negara yang kami minati. Mari kita sempitkan carian kita kepada Amerika Syarikat:

<code>us_websites = [
    item["Website"] for item in all_startups if item["Country"] == "United States"
]</code>
Langkah 2: Cari Halaman Kerjaya

Kini kami mempunyai senarai tapak web permulaan pembiayaan Siri A dari Amerika Syarikat. Langkah seterusnya ialah mencari halaman kerjaya mereka. Kami akan menarik halaman kerjaya terus dari halaman utama mereka:

<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>
Perhatikan bahawa anda boleh menggantikan langkah ini secara pilihan dengan API carian dan panggilan LLM dengan panggilan carian.

Langkah 3: Dapatkan pekerjaan terbuka

Langkah terakhir ialah memuatkan semua jawatan terbuka dari halaman kerjaya laman web. Katakan kita sedang mencari kerja kejuruteraan perisian, kemudian kita akan mencari jawatan, lokasi, pautan, dan jika ia berkaitan dengan kejuruteraan perisian:

<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>
Dengan semua jawatan diekstrak, kami boleh menapis semua kedudukan kejuruteraan bukan perisian dan menyimpannya ke fail .csv:

<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>
Akhir sekali, kami mendapat jadual dengan senarai jawatan, seperti yang ditunjukkan di bawah:

职位名称 所在地 链接 软件工程职位 网址
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
... ... ... ... ...
Kesimpulan ----------

Seterusnya, kita boleh mengulangi proses yang sama untuk mengeluarkan lebih banyak maklumat daripada senarai kerja penuh. Sebagai contoh, dapatkan timbunan teknologi atau penapis untuk pekerjaan di permulaan jauh. Ini akan menjimatkan masa menyemak semua halaman secara manual. Anda boleh cuba mengulang sendiri medan Pautan dan mengekstrak elemen yang anda minati.

Saya harap anda mendapati artikel ini membantu dan sila beritahu saya jika anda mempunyai sebarang soalan.

Atas ialah kandungan terperinci Cari kerja permulaan dengan Python dan LLM. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn