# jobsparser
A simple CLI tool to scrape jobs from multiple job sites (LinkedIn, Indeed, Glassdoor) using [JobSpy](https://github.com/Bunsly/JobSpy).
## Installation
From PyPI (coming soon):
```bash
pip install jobsparser
```
From source:
```bash
git clone https://github.com/fran/jobsparser
cd jobsparser
pip install .
```
## Usage
Basic usage:
```bash
jobsparser --search-term "Python Developer" --location "London"
```
Use multiple job sites:
```bash
jobsparser --search-term "Frontend Engineer" --location "Remote" --site linkedin --site indeed
```
Advanced usage:
```bash
jobsparser \
--search-term "Data Scientist" \
--location "New York" \
--site linkedin --site indeed --site glassdoor \
--results-wanted 200 \
--distance 50 \
--job-type fulltime \
--output-dir "my_jobs"
```
See all options:
```bash
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)
## License
MIT License - see [LICENSE](LICENSE) for details.
Raw data
{
"_id": null,
"home_page": null,
"name": "jobsparser",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "cli, glassdoor, indeed, jobs, linkedin, scraping",
"author": "FranciscoMoretti",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/ec/07/689596d02883a0ab0f7c8b3e5c7f1a4ffd77e6bea443aad03d135f70f90a/jobsparser-0.1.3.tar.gz",
"platform": null,
"description": "# jobsparser\n\nA simple CLI tool to scrape jobs from multiple job sites (LinkedIn, Indeed, Glassdoor) using [JobSpy](https://github.com/Bunsly/JobSpy).\n\n## Installation\n\nFrom PyPI (coming soon):\n```bash\npip install jobsparser\n```\n\nFrom source:\n```bash\ngit clone https://github.com/fran/jobsparser\ncd jobsparser\npip install .\n```\n\n## Usage\n\nBasic usage:\n```bash\njobsparser --search-term \"Python Developer\" --location \"London\"\n```\n\nUse multiple job sites:\n```bash\njobsparser --search-term \"Frontend Engineer\" --location \"Remote\" --site linkedin --site indeed\n```\n\nAdvanced usage:\n```bash\njobsparser \\\n --search-term \"Data Scientist\" \\\n --location \"New York\" \\\n --site linkedin --site indeed --site glassdoor \\\n --results-wanted 200 \\\n --distance 50 \\\n --job-type fulltime \\\n --output-dir \"my_jobs\"\n```\n\nSee all options:\n```bash\njobsparser --help\n```\n\n## Features\n\n- Scrape jobs from LinkedIn, Indeed, and Glassdoor\n- Customizable search parameters:\n - Job type (fulltime, parttime, contract, internship)\n - Search radius (distance)\n - Number of results\n - Location and country\n- Automatic retries and rate limiting\n- CSV output with unique filenames\n- Progress tracking and status updates\n\n## Options\n\n- `--search-term`: Job search query (required)\n- `--location`: Job location (required)\n- `--site`: Job sites to search (default: linkedin)\n- `--results-wanted`: Total number of results (default: 100)\n- `--distance`: Search radius in miles/km (default: 25)\n- `--job-type`: Type of job (default: fulltime)\n- `--country`: Country code for Indeed search (default: UK)\n- `--fetch-description`: Fetch full job description (default: true)\n- `--batch-size`: Results per batch (default: 30)\n- `--sleep-time`: Base sleep time between batches (default: 100)\n- `--output-dir`: Directory for CSV files (default: data)\n\n## License\n\nMIT License - see [LICENSE](LICENSE) for details.",
"bugtrack_url": null,
"license": null,
"summary": "CLI tool to scrape jobs from multiple job sites",
"version": "0.1.3",
"project_urls": {
"Repository": "https://github.com/fran/jobsparser"
},
"split_keywords": [
"cli",
" glassdoor",
" indeed",
" jobs",
" linkedin",
" scraping"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d2323a666e7bfb0d5016fcecf89bb6bfe5d6db165eba77961dfaf3099a0cf2a2",
"md5": "1c51c4dd7fbe5fd62398f541c316bb88",
"sha256": "87e76c37887d2cad080cff7a3cdae9fb3a6b49221557465fa6d481797756d99c"
},
"downloads": -1,
"filename": "jobsparser-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1c51c4dd7fbe5fd62398f541c316bb88",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 4841,
"upload_time": "2025-01-21T08:26:27",
"upload_time_iso_8601": "2025-01-21T08:26:27.954232Z",
"url": "https://files.pythonhosted.org/packages/d2/32/3a666e7bfb0d5016fcecf89bb6bfe5d6db165eba77961dfaf3099a0cf2a2/jobsparser-0.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ec07689596d02883a0ab0f7c8b3e5c7f1a4ffd77e6bea443aad03d135f70f90a",
"md5": "a438575bc2118aa6ccaf87ce2c86e4d2",
"sha256": "b51c5edd1c2cfbf2fb0594f460c2dc2411e95992af0def0a26063d77311c8422"
},
"downloads": -1,
"filename": "jobsparser-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "a438575bc2118aa6ccaf87ce2c86e4d2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 12549,
"upload_time": "2025-01-21T08:26:28",
"upload_time_iso_8601": "2025-01-21T08:26:28.996685Z",
"url": "https://files.pythonhosted.org/packages/ec/07/689596d02883a0ab0f7c8b3e5c7f1a4ffd77e6bea443aad03d135f70f90a/jobsparser-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-21 08:26:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "fran",
"github_project": "jobsparser",
"github_not_found": true,
"lcname": "jobsparser"
}