diff --git a/pyproject.toml b/pyproject.toml index 611c38b..4e9db26 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "python-jobspy" -version = "1.1.15" +version = "1.1.16" description = "Job scraper for LinkedIn, Indeed & ZipRecruiter" authors = ["Zachary Hampton ", "Cullen Watson "] homepage = "https://github.com/Bunsly/JobSpy" diff --git a/src/jobspy/jobs/__init__.py b/src/jobspy/jobs/__init__.py index eec40a1..4131378 100644 --- a/src/jobspy/jobs/__init__.py +++ b/src/jobspy/jobs/__init__.py @@ -177,8 +177,8 @@ class CompensationInterval(Enum): class Compensation(BaseModel): interval: Optional[CompensationInterval] = None - min_amount: int = None - max_amount: int = None + min_amount: int | None = None + max_amount: int | None = None currency: Optional[str] = "USD" diff --git a/src/jobspy/scrapers/ziprecruiter/__init__.py b/src/jobspy/scrapers/ziprecruiter/__init__.py index bfa3f93..39c9f71 100644 --- a/src/jobspy/scrapers/ziprecruiter/__init__.py +++ b/src/jobspy/scrapers/ziprecruiter/__init__.py @@ -113,12 +113,11 @@ class ZipRecruiterScraper(Scraper): title = job.get("name") job_url = job.get("job_url") - # job_url = updated_job_url if updated_job_url else job_url description = BeautifulSoup( job.get("job_description", "").strip(), "html.parser" ).get_text() - company = job.get("source") + company = job['hiring_company'].get("name") if "hiring_company" in job else None location = Location( city=job.get("job_city"), state=job.get("job_state"), country='usa' if job.get("job_country") == 'US' else 'canada' ) @@ -137,12 +136,18 @@ class ZipRecruiterScraper(Scraper): else: date_posted = date.today() + return JobPost( title=title, company_name=company, location=location, job_type=job_type, - # compensation=compensation, + compensation=Compensation( + interval="yearly" if job.get("compensation_interval") == "annual" else job.get("compensation_interval") , + min_amount=int(job["compensation_min"]) if "compensation_min" in job else None, + max_amount=int(job["compensation_max"]) if "compensation_max" in job else None, + currency=job.get("compensation_currency"), + ), date_posted=date_posted, job_url=job_url, description=description,