feat(jobs): add distance param

This commit is contained in:
Cullen Watson
2023-07-10 16:14:05 -05:00
parent 6269479955
commit 75763d6123
5 changed files with 14 additions and 3 deletions

View File

@@ -12,6 +12,7 @@ class Site(Enum):
class ScraperInput(BaseModel):
location: str
search_term: str
distance: int = 25
page: int = 1

View File

@@ -26,6 +26,7 @@ class IndeedScraper(Scraper):
"l": scraper_input.location,
"filter": 0,
"start": 0 if scraper_input.page is None else (scraper_input.page - 1) * 10,
"radius": scraper_input.distance,
}
response = session.get(self.url, params=params)

View File

@@ -16,7 +16,11 @@ class LinkedInScraper(Scraper):
self.url = "https://www.linkedin.com/jobs"
def scrape(self, scraper_input: ScraperInput) -> JobResponse:
params = {"pageNum": scraper_input.page - 1, "location": scraper_input.location}
params = {
"pageNum": scraper_input.page - 1,
"location": scraper_input.location,
"distance": scraper_input.distance,
}
self.url = f"{self.url}/{scraper_input.search_term}-jobs"
response = requests.get(self.url, params=params)

View File

@@ -25,6 +25,7 @@ class ZipRecruiterScraper(Scraper):
"search": scraper_input.search_term,
"location": scraper_input.location,
"page": min(scraper_input.page, 10),
"radius": scraper_input.distance,
}
response = session.get(