Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

github.com/ianargyle1/golinkedin

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/ianargyle1/golinkedin

  • v1.12.0
  • Source
  • Go
  • Socket score

Version published
Created
Source

Golinkedin

PkgGoDev GitHub GitHub go.mod Go version GitHub Workflow Status (branch)

Golinkedin is a library for scraping Linkedin. Unfortunately, auto login is impossible (probably...), so you need to retrieve Linkedin session cookies manually. As mentioned above, the purpose of this package is only for scraping, so there is no method for create, update, or delete data. Not all object is documented or present because Franklin Collin Tamboto, the original author, does not fully understand the purpose of some object returned by Linkedin internal API, and because the nature of Linkedin internal API that treat almost every object as optional, empty field or object will not be returned by Linkedin internal API, so some object or fields might be missing. Feel free to fork and contribute!

Current Features

  • Lookup Full Profile by Username
  • Profile Organizations Lookup
  • Profile Educations Lookup
  • Profile Certifications Lookup
  • Profile Honors Lookup
  • Profile Positions Lookup
  • Profile Interest Lookup
  • Profile Acitivity Lookup
  • Profile Recommendation Lookup
  • Profile Skill Lookup
  • Geolocation Search
  • Company Search
  • Group Search
  • People/Profile Search
  • Service Search
  • School Search

Upcoming Features

  • Profile Treasury Media Data
  • Profile Publications Lookup
  • Profile Volunteer Exeperiences Lookup
  • Profile Projects Lookup
  • Profile Patents Lookup
  • Profile Languages Data
  • Profile Courses Lookup
  • Profile Accomplishments

Installation

This package require go version 1.14 or above. Make sure you have go modules activated.

$ GO111MODULE=on go get github.com/tamboto2000/golinkedin

Full Profile Lookup Example

package main

import (
	"encoding/json"
	"os"

	"github.com/tamboto2000/golinkedin"
)

func main() {
	ln := golinkedin.New()
	ln.SetCookieStr(`your_linkedin_cookies`)

	profile, err := ln.ProfileByUsername("linkedin_username")
	if err != nil {
		panic(err.Error())
	}

	f, err := os.Create("profile.json")
	if err != nil {
		panic(err.Error())
	}

	if err := json.NewEncoder(f).Encode(profile); err != nil {
		panic(err.Error())
	}
}

Search Geo Example

package main

import (
	"encoding/json"
	"os"

	"github.com/tamboto2000/golinkedin"
)

func main() {
	ln := golinkedin.New()
	ln.SetCookieStr(`your_linkedin_cookies`)

	// search geo
	geoNode, err := searchGeo(ln, "USA")
	if err != nil {
		panic(err.Error())
	}

	f, err := os.Create("geo.json")
	if err != nil {
		panic(err.Error())
	}

	if err := json.NewEncoder(f).Encode(geoNode); err != nil {
		panic(err.Error())
	}
}

func searchGeo(ln *golinkedin.Linkedin, keyword string) (*golinkedin.GeoNode, error) {
	geoNode, err := ln.SearchGeo(keyword)
	if err != nil {
		panic(err.Error())
	}

	geos := make([]golinkedin.Geo, 0)
	for geoNode.Next() {
		geos = append(geos, geoNode.Elements...)
		if len(geos) >= 20 {
			break
		}
	}

	geoNode.Elements = geos

	return geoNode, nil
}

For now, every Node have SetLinkedin(), Error() error, and Next() bool method, except for ProfileNode

Todos

  • Write Tests
  • Add More Data and Features
  • Add CodeCove

License

MIT

FAQs

Package last updated on 30 Nov 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc