Add Csv output (#20)

This commit is contained in:
Cullen Watson
2023-08-27 16:25:48 -05:00
committed by GitHub
parent 32a5bb37cd
commit 80a02faa75
8 changed files with 230 additions and 50 deletions

View File

@@ -1,5 +1,6 @@
from ..jobs import *
from typing import List
from ..formatters import OutputFormat
from typing import List, Dict, Optional
class StatusException(Exception):
@@ -16,6 +17,7 @@ class Site(Enum):
class ScraperInput(BaseModel):
site_type: List[Site]
search_term: str
output_format: OutputFormat = OutputFormat.JSON
location: str = None
distance: int = None
@@ -26,6 +28,12 @@ class ScraperInput(BaseModel):
results_wanted: int = 15
class ScraperResponse(BaseModel):
linkedin: Optional[JobResponse]
indeed: Optional[JobResponse]
zip_recruiter: Optional[JobResponse]
class Scraper:
def __init__(self, site: Site, url: str):
self.site = site

View File

@@ -96,7 +96,9 @@ class ZipRecruiterScraper(Scraper):
title = job.find("h2", {"class": "title"}).text
company = job.find("a", {"class": "company_name"}).text.strip()
description, updated_job_url = ZipRecruiterScraper.get_description(job_url, session)
description, updated_job_url = ZipRecruiterScraper.get_description(
job_url, session
)
if updated_job_url is not None:
job_url = updated_job_url
if description is None: