From bf94e93d4177608cca509a376d85da36b9711a08 Mon Sep 17 00:00:00 2001 From: lalalaurentiu Date: Wed, 12 Nov 2025 22:14:25 +0200 Subject: [PATCH 1/2] Refactor Infineon scraper to update job listing URL and improve data extraction logic --- sites/infineon.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/sites/infineon.py b/sites/infineon.py index 521c555..e93a8b8 100644 --- a/sites/infineon.py +++ b/sites/infineon.py @@ -1,13 +1,11 @@ from scraper.Scraper import Scraper -from utils import publish_or_update, publish_logo, show_jobs, translate_city, get_jobtype +from utils import publish_or_update, publish_logo, show_jobs, translate_city from getCounty import GetCounty _counties = GetCounty() start = 0 -num = 10 - -url = f"https://jobs.infineon.com/api/apply/v2/jobs?domain=infineon.com&start={start}&num={num}&location=Romania&pid=563808958979269&domain=infineon.com&sort_by=relevance&triggerGoButton=false" +url = f"https://jobs.infineon.com/api/pcsx/search?domain=infineon.com&query=&location=Romania&start={start}&sort_by=distance&" company = {"company": "Infineon"} finaljobs = list() @@ -15,15 +13,20 @@ scraper = Scraper() scraper.get_from_url(url=url,type= "JSON", verify=False) -jobs = scraper.markup.get("positions") +jobs = scraper.markup.get("data").get("positions") while len(jobs) > 0: for job in jobs: job_title = job.get("name") - job_link = job.get("canonicalPositionUrl") - city = translate_city(job.get("location").split(" ")[0].strip()) - county = _counties.get_county(city) - remote = get_jobtype(job.get("work_location_option")) + job_link = "https://jobs.infineon.com" + job.get("positionUrl") + city = [ + translate_city(location.split(",")[0]) + for location in job.get("standardizedLocations", []) + ] + county = [ + c for city_name in city for c in _counties.get_county(city_name) or [] + ] + remote = job.get("efcustomTextWorkplaceType") finaljobs.append({ "job_title": job_title, @@ -36,9 +39,9 @@ }) start += 10 - url = f"https://jobs.infineon.com/api/apply/v2/jobs?domain=infineon.com&start={start}&num={num}&location=Romania&pid=563808958979269&domain=infineon.com&sort_by=relevance&triggerGoButton=false" + url = f"https://jobs.infineon.com/api/pcsx/search?domain=infineon.com&query=&location=Romania&start={start}&sort_by=distance&" scraper.get_from_url(url=url,type= "JSON", verify=False) - jobs = scraper.markup.get("positions") + jobs = scraper.markup.get("data").get("positions") publish_or_update(finaljobs) From d2390124b3a3f5c4739a2a904e2745f9b3d8ceb4 Mon Sep 17 00:00:00 2001 From: lalalaurentiu Date: Thu, 13 Nov 2025 21:55:52 +0200 Subject: [PATCH 2/2] Fix remote job type extraction to ensure consistent formatting --- sites/infineon.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sites/infineon.py b/sites/infineon.py index e93a8b8..29ceede 100644 --- a/sites/infineon.py +++ b/sites/infineon.py @@ -26,7 +26,9 @@ county = [ c for city_name in city for c in _counties.get_county(city_name) or [] ] - remote = job.get("efcustomTextWorkplaceType") + remote = [ + type.lower() for type in job.get("efcustomTextWorkplaceType", []) + ] finaljobs.append({ "job_title": job_title,