From 20c30f5828e9ed1a8751c9688b48de155b55cd05 Mon Sep 17 00:00:00 2001 From: Vishwa Gaurav <81325730+VishwaGauravIn@users.noreply.github.com> Date: Thu, 23 Nov 2023 05:13:16 +0530 Subject: [PATCH] added companyLogo and agoTime --- README.md | 63 +++++++++++++++++++++++++++++++++++----------------- index.js | 6 +++++ package.json | 2 +- 3 files changed, 50 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 12da8c9..1bb045e 100644 --- a/README.md +++ b/README.md @@ -9,19 +9,23 @@ ## Features + - ⚡ Lightening Fast - ✨ Minimal - 🪶 Lightweight -- 🔥 Advanced Filters +- 🔥 Advanced Filters - 🤩 Support all Frameworks ## How to Install ? + Use npm or yarn to install this npm package ``` npm i linkedin-jobs-api ``` + or + ``` yarn add linkedin-jobs-api ``` @@ -57,28 +61,47 @@ linkedIn.query(queryOptions).then(response => { query() accepts a _queryOptions_ object and returns an array of _Job_ objects. -| Parameter | LinkedIn Default value| Description | -|:-----------:|:---------------------:|:----------------------------------------------------------------------------------------------:| -| keyword | "" | _string_ - The text to search: (i.e. Software Developer) | -| location | "" | _string_ - The name of the city: (i.e. Los Angeles) -| dateSincePosted| "" | _string_ - Max range of jobs: `past month`, `past week`, `24hr` -| jobType | "" | _string_ - Type of position: `full time`, `part time`, `contract`, `temporary`, `volunteer`, `internship` -| remoteFilter| "" | _string_ - Filter telecommuting: `on site`, `remote`, `hybrid` -| salary | "" | _string_ - Minimum Salary: `40000`, `60000`, `80000`, `100000`, `120000` -| experienceLevel| "" | _string_ - `internship`, `entry level`, `associate`, `senior`, `director`, `executive` -| limit | "" | _string_ - Number of jobs returned: (i.e. '1', '10', '100', etc) -| sortBy | "" | _string_ - `recent`, `relevant` +| Parameter | LinkedIn Default value | Description | +| :-------------: | :--------------------: | :-------------------------------------------------------------------------------------------------------: | +| keyword | "" | _string_ - The text to search: (i.e. Software Developer) | +| location | "" | _string_ - The name of the city: (i.e. Los Angeles) | +| dateSincePosted | "" | _string_ - Max range of jobs: `past month`, `past week`, `24hr` | +| jobType | "" | _string_ - Type of position: `full time`, `part time`, `contract`, `temporary`, `volunteer`, `internship` | +| remoteFilter | "" | _string_ - Filter telecommuting: `on site`, `remote`, `hybrid` | +| salary | "" | _string_ - Minimum Salary: `40000`, `60000`, `80000`, `100000`, `120000` | +| experienceLevel | "" | _string_ - `internship`, `entry level`, `associate`, `senior`, `director`, `executive` | +| limit | "" | _string_ - Number of jobs returned: (i.e. '1', '10', '100', etc) | +| sortBy | "" | _string_ - `recent`, `relevant` | ## Job Objects -| Paramter | Description (Default: null) | -|:-----------:|:----------------------------------------------------------------------------------------------:| -| position | _string_ - Position title -| company | _string_ - Company name -| location | _string_ - Location of the job -| date | _string_ - Date the job was posted -| salary | _string_ - Salary range -| jobUrl | _string_ - URL of the job page +| Paramter | Description (Default: null) | +| :---------: | :---------------------------------: | +| position | _string_ - Position title | +| company | _string_ - Company name | +| companyLogo | _string_ - Company Logo | +| location | _string_ - Location of the job | +| date | _string_ - Date the job was posted | +| agoTime | _string_ - time since it was posted | +| salary | _string_ - Salary range | +| jobUrl | _string_ - URL of the job page | + +## Example Response + +```json +[ + { + "position": "Human Resources Administrator", + "company": "The Hub", + "companyLogo": "https://static.licdn.com/aero-v1/sc/h/9a9u41thxt325ucfh5z8ga4m8", + "location": "India", + "date": "2023-11-20", + "agoTime": "2 days ago", + "salary": "", + "jobUrl": "https://in.linkedin.com/jobs/view/human-resources-administrator-at-the-hub-3765436573?refId=rWSjK9izzZ1ZNnUZYzqp8Q%3D%3D&trackingId=X6uox0Xk%2FRQmqkuHpO%2BdrQ%3D%3D&position=1&pageNum=0&trk=public_jobs_jserp-result_search-card" + } +] +``` ## Contributing diff --git a/index.js b/index.js index 96bc06f..065a4b1 100644 --- a/index.js +++ b/index.js @@ -176,11 +176,17 @@ function parseJobList(jobData) { .replace(/\n/g, "") .replaceAll(" ", "") || ""; const jobUrl = job.find(".base-card__full-link").attr("href") || ""; + const companyLogo = + job.find(".artdeco-entity-image").attr("data-ghost-url") || ""; + const agoTime = + job.find(".job-search-card__listdate").text().trim() || ""; return { position: position, company: company, + companyLogo: companyLogo, location: location, date: date, + agoTime: agoTime, salary: salary, jobUrl: jobUrl, }; diff --git a/package.json b/package.json index f6150d7..2a1f6bb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "linkedin-jobs-api", - "version": "1.0.0", + "version": "1.0.1", "description": "advanced node.js package for getting job listings from LinkedIn", "main": "index.js", "scripts": {