> 백엔드 개발 > 파이썬 튜토리얼 > Python 및 LLM을 사용하여 시작 작업 검색

Python 및 LLM을 사용하여 시작 작업 검색

DDD
풀어 주다: 2025-01-27 20:15:13
원래의
263명이 탐색했습니다.

Search startup jobs with Python and LLMs

많은 회사 웹사이트에서는 주류 구직 웹사이트에서는 찾을 수 없는 채용 정보를 게시합니다. 예를 들어, 원격 스타트업에서 일자리를 찾는 것은 이러한 회사가 채용 사이트에 등록되어 있지 않을 수도 있기 때문에 어려울 수 있습니다. 이러한 일자리를 찾으려면 다음이 필요합니다.

  • 잠재력 있는 기업을 찾습니다
  • 채용 페이지 검색
  • 사용 가능한 채용 정보 분석
  • 작업 세부정보 수동 기록

이 작업은 시간이 많이 걸리지만 자동화하겠습니다.

준비

우리는 Parsera 라이브러리를 사용하여 작업 스크래핑을 자동화할 것입니다. Parsera는 두 가지 사용 옵션을 제공합니다:

  • 로컬 모드: 선택한 LLM을 사용하여 컴퓨터에서 페이지를 처리합니다.
  • API 모드: 모든 처리는 Parsera 서버에서 수행됩니다.

이 예에서는 일회성 소규모 추출이므로 로컬 모드를 사용합니다.

먼저 필수 패키지를 설치합니다.

<code>pip install parsera
playwright install</code>
로그인 후 복사

로컬 설정을 실행하고 있으므로 LLM 연결이 필요합니다. 단순화를 위해 OpenAI의 gpt-4o-mini를 사용하고 하나의 환경 변수만 설정하면 됩니다.

<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>
로그인 후 복사

모든 것이 설정되면 크롤링을 시작할 수 있습니다.

1단계: 최신 시리즈 A 펀딩 스타트업 목록 확인

먼저 관심 있는 회사 목록과 해당 웹사이트를 찾아야 합니다. 지난달 시리즈A 자금을 조달한 스타트업 100곳의 목록을 찾았습니다. 성장하는 기업과 새로운 자금 조달을 받는 기업이 좋은 선택인 것 같습니다.

이 회사의 국가와 웹사이트를 알아보세요:

<code>url = "https://growthlist.co/series-a-startups/"
elements = {
    "Website": "公司的网站",
    "Country": "公司的国家",
}
all_startups = await scraper.arun(url=url, elements=elements)</code>
로그인 후 복사

국가 정보를 통해 관심 있는 국가를 필터링할 수 있습니다. 검색 범위를 미국으로 좁혀 보겠습니다.

<code>us_websites = [
    item["Website"] for item in all_startups if item["Country"] == "United States"
]</code>
로그인 후 복사

2단계: 채용 페이지 찾기

이제 미국의 시리즈 A 펀딩 스타트업 웹사이트 목록이 생겼습니다. 다음 단계는 경력 페이지를 찾는 것입니다. 홈페이지에서 직접 채용 페이지를 가져옵니다.

<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>
로그인 후 복사

선택적으로 이 단계를 검색 API로 대체하고 LLM 호출을 검색 호출로 대체할 수 있습니다.

3단계: 채용 공고

마지막 단계는 웹사이트의 채용 페이지에서 모든 채용 공고를 로드하는 것입니다. 소프트웨어 엔지니어링 직무를 찾고 있다고 가정해 보겠습니다. 그런 다음 직위, 위치, 링크를 찾고 소프트웨어 엔지니어링과 관련된 것인지 검색합니다.

<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>
로그인 후 복사

모든 직위가 추출되면 소프트웨어 엔지니어링 이외의 모든 직위를 필터링하여 .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>
로그인 후 복사

마지막으로 아래와 같이 직위 목록이 포함된 테이블이 생성됩니다.

<..>
결론 ------------- 다음으로 동일한 프로세스를 반복하여 전체 위치 목록에서 더 많은 정보를 추출 할 수 있습니다. 예를 들어, 기술 스택 또는 필터 원격 시작업의 작업을 가져옵니다. 이렇게하면 모든 페이지를 수동으로 시청하는 시간이 절약됩니다. 링크 필드를 반복하고 관심있는 요소를 추출 할 수 있습니다.
职位名称 所在地 链接 软件工程职位 网址
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
... ... ... ... ...
이 기사가 도움이되기를 바랍니다.

위 내용은 Python 및 LLM을 사용하여 시작 작업 검색의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿