get_base_search_url fixed
This commit is contained in:
parent
6f549222cc
commit
450fba94ac
1 changed files with 21 additions and 19 deletions
|
|
@ -5,10 +5,8 @@ import time
|
||||||
import traceback
|
import traceback
|
||||||
from itertools import product
|
from itertools import product
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from selenium.common.exceptions import NoSuchElementException
|
from selenium.common.exceptions import NoSuchElementException
|
||||||
from selenium.webdriver.common.by import By
|
from selenium.webdriver.common.by import By
|
||||||
|
|
||||||
import utils
|
import utils
|
||||||
from job import Job
|
from job import Job
|
||||||
from linkedIn_easy_applier import LinkedInEasyApplier
|
from linkedIn_easy_applier import LinkedInEasyApplier
|
||||||
|
|
@ -106,7 +104,6 @@ class LinkedInJobManager:
|
||||||
except Exception:
|
except Exception:
|
||||||
traceback.format_exc()
|
traceback.format_exc()
|
||||||
pass
|
pass
|
||||||
|
|
||||||
time_left = minimum_page_time - time.time()
|
time_left = minimum_page_time - time.time()
|
||||||
if time_left > 0:
|
if time_left > 0:
|
||||||
utils.printyellow(f"Sleeping for {time_left} seconds.")
|
utils.printyellow(f"Sleeping for {time_left} seconds.")
|
||||||
|
|
@ -176,21 +173,26 @@ class LinkedInJobManager:
|
||||||
utils.printred(f"Details: Answer type: {answer_type}, Question: {question_text}")
|
utils.printred(f"Details: Answer type: {answer_type}, Question: {question_text}")
|
||||||
|
|
||||||
def get_base_search_url(self, parameters):
|
def get_base_search_url(self, parameters):
|
||||||
remote_url = "f_CF=f_WRA" if parameters['remote'] else ""
|
url_parts = []
|
||||||
experience_url = "f_E=" + "%2C".join(
|
if parameters['remote']:
|
||||||
str(i+1) for i, v in enumerate(parameters.get('experienceLevel', [])) if v
|
url_parts.append("f_CF=f_WRA")
|
||||||
)
|
experience_levels = [str(i+1) for i, v in enumerate(parameters.get('experienceLevel', [])) if v]
|
||||||
distance_url = "?distance=" + str(parameters['distance'])
|
if experience_levels:
|
||||||
job_types_url = "f_JT=" + "%2C".join(
|
url_parts.append(f"f_E={','.join(experience_levels)}")
|
||||||
k[0].upper() for k, v in parameters.get('experienceLevel', {}).items() if v
|
url_parts.append(f"distance={parameters['distance']}")
|
||||||
)
|
job_types = [key[0].upper() for key, value in parameters.get('jobTypes', {}).items() if value]
|
||||||
date_url = next(
|
if job_types:
|
||||||
(v for k, v in {
|
url_parts.append(f"f_JT={','.join(job_types)}")
|
||||||
"all time": "", "month": "&f_TPR=r2592000", "week": "&f_TPR=r604800", "24 hours": "&f_TPR=r86400"
|
date_mapping = {
|
||||||
}.items() if parameters.get('date', {}).get(k)), ""
|
"all time": "",
|
||||||
)
|
"month": "&f_TPR=r2592000",
|
||||||
easy_apply_url = "&f_LF=f_AL"
|
"week": "&f_TPR=r604800",
|
||||||
return f"{distance_url}&{remote_url}&{job_types_url}&{experience_url}{easy_apply_url}{date_url}"
|
"24 hours": "&f_TPR=r86400"
|
||||||
|
}
|
||||||
|
date_param = next((v for k, v in date_mapping.items() if parameters.get('date', {}).get(k)), "")
|
||||||
|
url_parts.append("f_LF=f_AL") # Easy Apply
|
||||||
|
base_url = "&".join(url_parts)
|
||||||
|
return f"?{base_url}{date_param}"
|
||||||
|
|
||||||
def next_job_page(self, position, location, job_page):
|
def next_job_page(self, position, location, job_page):
|
||||||
self.driver.get(f"https://www.linkedin.com/jobs/search/{self.base_search_url}&keywords={position}{location}&start={job_page * 25}")
|
self.driver.get(f"https://www.linkedin.com/jobs/search/{self.base_search_url}&keywords={position}{location}&start={job_page * 25}")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue