Skip to main content

CLI tool to scrape jobs from multiple job sites

Project description

jobsparser

A simple CLI tool to scrape jobs from multiple job sites (LinkedIn, Indeed, Glassdoor) using JobSpy.

Relevant article: Automate Your Job Search: Scraping 400+ LinkedIn Jobs with Python

Installation

From PyPI (coming soon):

pip install jobsparser

From source:

git clone https://github.com/FranciscoMoretti/jobsparser
cd jobsparser
pip install .

Usage

Basic usage:

jobsparser --search-term "Python Developer" --location "London"

Use multiple job sites:

jobsparser --search-term "Frontend Engineer" --location "Remote" --site linkedin --site indeed

Advanced usage:

jobsparser \
    --search-term "Data Scientist" \
    --location "New York" \
    --site linkedin \
    --results-wanted 200 \
    --distance 50 \
    --job-type fulltime \
    --output-dir "my_jobs" \
    --hours-old 168 \
    --linkedin-experience-level "internship" \
    --linkedin-experience-level "entry_level"

See all options:

jobsparser --help

Features

  • Scrape jobs from LinkedIn, Indeed, and Glassdoor
  • Customizable search parameters:
    • Job type (fulltime, parttime, contract, internship)
    • Search radius (distance)
    • Number of results
    • Location and country
  • Automatic retries and rate limiting
  • CSV output with unique filenames
  • Progress tracking and status updates

Options

  • --search-term: Job search query (required)
  • --location: Job location (required)
  • --site: Job sites to search (default: linkedin)
  • --results-wanted: Total number of results (default: 100)
  • --distance: Search radius in miles/km (default: 25)
  • --job-type: Type of job (default: fulltime)
  • --country: Country code for Indeed search (default: UK)
  • --fetch-description: Fetch full job description (default: true)
  • --batch-size: Results per batch (default: 30)
  • --sleep-time: Base sleep time between batches (default: 100)
  • --output-dir: Directory for CSV files (default: data)
  • --hours-old: Hours old for job search (default: None)
  • --linkedin-experience-level: Experience levels for LinkedIn search (internship, entry_level, associate, mid_senior, director, executive)

License

MIT License - see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jobsparser-0.1.7.tar.gz (40.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jobsparser-0.1.7-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file jobsparser-0.1.7.tar.gz.

File metadata

  • Download URL: jobsparser-0.1.7.tar.gz
  • Upload date:
  • Size: 40.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for jobsparser-0.1.7.tar.gz
Algorithm Hash digest
SHA256 81436bd994c0e5fe3e2eae787c535fedaea31a6cf0af7737248fbafa069dd45e
MD5 2cf0b9436bb99525dc696c96197754e4
BLAKE2b-256 699f06c2cd5fdf9c5e6ee36f25ce3f2e7d6386f63ae8283cbfa3fbdf950e729b

See more details on using hashes here.

File details

Details for the file jobsparser-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: jobsparser-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for jobsparser-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 fd9adff66c891e427fc4dd56493c005876cfab28e4e3b5e032fcf485eb7559e9
MD5 41b8a92406b009e3d02d99a038aa4364
BLAKE2b-256 5afd4c13f02a750ce120c9c87a307bfc4d8c09831f55dc21f6767cf4b5619ff7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page