scraper

package
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 25, 2026 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SiteLinkedIn     = "linkedin"
	SiteIndeed       = "indeed"
	SiteGlassdoor    = "glassdoor"
	SiteZipRecruiter = "ziprecruiter"
	SiteGoogleJobs   = "google"
	SiteStepstone    = "stepstone"
)

Variables

View Source
var ErrNotImplemented = errors.New("scraper not implemented")

Functions

func NormalizeSites

func NormalizeSites(sites []string) []string

func Registry

func Registry(rotator *network.Rotator) (map[string]Scraper, error)

Types

type Glassdoor

type Glassdoor struct {
	// contains filtered or unexported fields
}

func NewGlassdoor

func NewGlassdoor(client *network.Client) *Glassdoor

func (*Glassdoor) Name

func (g *Glassdoor) Name() string

func (*Glassdoor) Search

func (g *Glassdoor) Search(ctx context.Context, params models.SearchParams) ([]models.Job, error)

type GoogleJobs

type GoogleJobs struct {
	// contains filtered or unexported fields
}

func NewGoogleJobs

func NewGoogleJobs(client *network.Client) *GoogleJobs

func (*GoogleJobs) Name

func (g *GoogleJobs) Name() string

func (*GoogleJobs) Search

func (g *GoogleJobs) Search(ctx context.Context, params models.SearchParams) ([]models.Job, error)

type Indeed

type Indeed struct {
	// contains filtered or unexported fields
}

func NewIndeed

func NewIndeed(client *network.Client) *Indeed

func (*Indeed) Name

func (i *Indeed) Name() string

func (*Indeed) Search

func (i *Indeed) Search(ctx context.Context, params models.SearchParams) ([]models.Job, error)

type LinkedIn

type LinkedIn struct {
	// contains filtered or unexported fields
}

LinkedIn uses a guest endpoint that returns HTML job cards.

func NewLinkedIn

func NewLinkedIn(client *network.Client) *LinkedIn

func (*LinkedIn) Name

func (l *LinkedIn) Name() string

func (*LinkedIn) Search

func (l *LinkedIn) Search(ctx context.Context, params models.SearchParams) ([]models.Job, error)

type Scraper

type Scraper interface {
	Name() string
	Search(ctx context.Context, params models.SearchParams) ([]models.Job, error)
}

type Stepstone

type Stepstone struct {
	// contains filtered or unexported fields
}

func NewStepstone

func NewStepstone(client *network.Client) *Stepstone

func (*Stepstone) Name

func (s *Stepstone) Name() string

func (*Stepstone) Search

func (s *Stepstone) Search(ctx context.Context, params models.SearchParams) ([]models.Job, error)

type ZipRecruiter

type ZipRecruiter struct {
	// contains filtered or unexported fields
}

func NewZipRecruiter

func NewZipRecruiter(client *network.Client) *ZipRecruiter

func (*ZipRecruiter) Name

func (z *ZipRecruiter) Name() string

func (*ZipRecruiter) Search

func (z *ZipRecruiter) Search(ctx context.Context, params models.SearchParams) ([]models.Job, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL