From d7fd4009183e30c0db9b33c1f11b346e81662063 Mon Sep 17 00:00:00 2001 From: Manu Altieri Date: Wed, 4 Sep 2024 19:51:08 +0200 Subject: [PATCH] Added a little list to save jobs_id to avoid re-iterate applied already jobs --- src/linkedin-api.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/linkedin-api.py b/src/linkedin-api.py index ae37845..70088b8 100644 --- a/src/linkedin-api.py +++ b/src/linkedin-api.py @@ -9,6 +9,8 @@ import json logging.basicConfig(level=logging.INFO) class LinkedInEvolvedAPI(Linkedin): + already_applied_jobs: List[str] = [] + def __init__(self, username, password): super().__init__(username, password) @@ -351,6 +353,8 @@ class LinkedInEvolvedAPI(Linkedin): # Push the commit to the repository and create a pull request to the v3 branch. + def set_job_as_applied(self, job_id: str) -> None: + self.already_applied_jobs.append(job_id) @@ -360,10 +364,13 @@ class LinkedInEvolvedAPI(Linkedin): ## EXAMPLE USAGE if __name__ == "__main__": - api: LinkedInEvolvedAPI = LinkedInEvolvedAPI(username="", password="") + api: LinkedInEvolvedAPI = LinkedInEvolvedAPI(username="", password="") jobs = api.search_jobs(keywords="Frontend Developer", location_name="Italia", limit=5, easy_apply=True, offset=1) for job in jobs: job_id: str = job["job_id"] + if job_id in api.already_applied_jobs: + logging.info(f"Already applied to job {job_id}, skipping it") + continue fields = api.get_fields_for_easy_apply(job_id) for field in fields: