samjco / Linkedin-Client

Web scraper for grabing data from Linkedin profiles or company pages (personal project)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Linkedin Client

npm version

This package allows to fetch data about individuals or companies on Linkedin.

app screenshot

Installation

npm i linkedin-client

Usage

You need your Linkedin cookie called "li_at". This way, requests will be sent on your behalf.

const LinkedinClient = require('linkedin-client');

(async () => {
  const client = new LinkedinClient('YOUR_LINKEDIN_COOKIE');
  const data = await client.fetch('https://www.linkedin.com/in/williamhgates/');
  console.log(data);
})();

CLI usage

If you want to retrieve people details :

node src/cli.js https://www.linkedin.com/in/williamhgates/

Or if you want to retrieve company information :

node src/cli.js https://www.linkedin.com/company/microsoft/

Tests

npm test

Web interface

If you want to run the web interface on you own, you can do as follows :

git clone https://github.com/Cooya/Linkedin-Client.git linkedin-client
cd linkedin-client
npm install
npm run build
echo "module.exports = { cookie: 'YOUR_LINKEDIN_COOKIE' };" > config.js
npm start

Context

  • Folder src/v1 : At the very beginning, the project was a freelance mission for a client needing some leads. I used Linkedin API v1.
  • Folder src/v2 : After that I decided to design a web interface to showcase the tool. I was limited by the Linkedin API, so I somehow completed it by retrieving data with Puppeteer, a driver for an headless Google Chrome browser.
  • The Linkedin API v1 is now deprecated and the v2 is not really usable so, in this third version, there is no more use of the API and I completely skipped the use of web browser, it is a simple HTTP request and Cheerio does the job.

About

Web scraper for grabing data from Linkedin profiles or company pages (personal project)


Languages

Language:JavaScript 96.8%Language:SCSS 2.4%Language:HTML 0.7%