jobscrape


Namejobscrape JSON
Version 0.1.0 PyPI version JSON
download
home_page
SummaryJob scraper for LinkedIn, Indeed & ZipRecruiter
upload_time2023-09-03 14:39:52
maintainer
docs_urlNone
authorZachary Hampton
requires_python>=3.10,<4.0
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # JobSpy

**JobSpy** is a simple, yet comprehensive, job scraping library.
## Features

- Scrapes job postings from **LinkedIn**, **Indeed** & **ZipRecruiter** simultaneously
- Aggregates the job postings in a Pandas DataFrame

### Installation
`pip install jobscrape`  
  
  _Python version >= [3.10](https://www.python.org/downloads/release/python-3100/) required_ 

### Usage

```python
from jobscrape import scrape_jobs
import pandas as pd

jobs: pd.DataFrame = scrape_jobs(
    site_name=["indeed", "linkedin", "zip_recruiter"],
    search_term="software engineer",
    results_wanted=10
)

if jobs.empty:
    print("No jobs found.")
else:

    #1 print
    pd.set_option('display.max_columns', None)
    pd.set_option('display.max_rows', None)
    pd.set_option('display.width', None)
    pd.set_option('display.max_colwidth', 50)  # set to 0 to see full job url / desc
    print(jobs)

    #2 display in Jupyter Notebook
    display(jobs)
    
    #3 output to csv
    jobs.to_csv('jobs.csv', index=False)
```

### Output
```
             site                                              title                    company_name                 city state   job_type interval min_amount max_amount                                            job_url                                        description
           indeed                                  Software Engineer                AMERICAN SYSTEMS            Arlington    VA       None   yearly     200000     150000  https://www.indeed.com/viewjob?jk=5e409e577046...  THIS POSITION COMES WITH A 10K SIGNING BONUS! ...
           indeed                           Senior Software Engineer                TherapyNotes.com         Philadelphia    PA   fulltime   yearly     135000     110000  https://www.indeed.com/viewjob?jk=da39574a40cb...  About Us TherapyNotes is the national leader i...
         linkedin                   Software Engineer - Early Career                 Lockheed Martin            Sunnyvale    CA   fulltime   yearly       None       None      https://www.linkedin.com/jobs/view/3693012711  Description:By bringing together people that u...
         linkedin                       Full-Stack Software Engineer                            Rain             New York    NY   fulltime   yearly       None       None      https://www.linkedin.com/jobs/view/3696158877  Rain’s mission is to create the fastest and ea...
    zip_recruiter                       Software Engineer - New Grad                    ZipRecruiter         Santa Monica    CA   fulltime   yearly     130000     150000  https://www.ziprecruiter.com/jobs/ziprecruiter...  We offer a hybrid work environment. Most US-ba...
    zip_recruiter                                 Software Developer                      TEKsystems              Phoenix    AZ   fulltime   hourly         65         75  https://www.ziprecruiter.com/jobs/teksystems-0...  Top Skills' Details• 6 years of Java developme.```
```
### Parameters for `scrape_jobs()`


```plaintext
Required
├── site_type (List[enum]): linkedin, zip_recruiter, indeed
└── search_term (str)
Optional
├── location (int)
├── distance (int): in miles
├── job_type (enum): fulltime, parttime, internship, contract
├── is_remote (bool)
├── results_wanted (int): number of job results to retrieve for each site specified in 'site_type'
├── easy_apply (bool): filters for jobs on LinkedIn that have the 'Easy Apply' option
```

### Response Schema
```plaintext
JobPost
├── title (str)
├── company_name (str)
├── job_url (str)
├── location (object)
│   ├── country (str)
│   ├── city (str)
│   ├── state (str)
├── description (str)
├── job_type (enum)
├── compensation (object)
│   ├── interval (CompensationInterval): yearly, monthly, weekly, daily, hourly
│   ├── min_amount (float)
│   ├── max_amount (float)
│   └── currency (str)
└── date_posted (datetime)

```


### FAQ
  
#### Encountering issues with your queries?
  
Try reducing the number of `results_wanted` and/or broadening the filters. If problems persist, please submit an issue.
  
#### Received a response code 429?
This means you've been blocked by the job board site for sending too many requests. Consider waiting a few seconds, or try using a VPN. Proxy support coming soon.
  


            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "jobscrape",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10,<4.0",
    "maintainer_email": "",
    "keywords": "",
    "author": "Zachary Hampton",
    "author_email": "69336300+ZacharyHampton@users.noreply.github.com",
    "download_url": "https://files.pythonhosted.org/packages/86/6a/54d84d7ff5bbe37ba624e27ae9bef4ba2c120409a3b57da2443345f23fb2/jobscrape-0.1.0.tar.gz",
    "platform": null,
    "description": "# JobSpy\n\n**JobSpy** is a simple, yet comprehensive, job scraping library.\n## Features\n\n- Scrapes job postings from **LinkedIn**, **Indeed** & **ZipRecruiter** simultaneously\n- Aggregates the job postings in a Pandas DataFrame\n\n### Installation\n`pip install jobscrape`  \n  \n  _Python version >= [3.10](https://www.python.org/downloads/release/python-3100/) required_ \n\n### Usage\n\n```python\nfrom jobscrape import scrape_jobs\nimport pandas as pd\n\njobs: pd.DataFrame = scrape_jobs(\n    site_name=[\"indeed\", \"linkedin\", \"zip_recruiter\"],\n    search_term=\"software engineer\",\n    results_wanted=10\n)\n\nif jobs.empty:\n    print(\"No jobs found.\")\nelse:\n\n    #1 print\n    pd.set_option('display.max_columns', None)\n    pd.set_option('display.max_rows', None)\n    pd.set_option('display.width', None)\n    pd.set_option('display.max_colwidth', 50)  # set to 0 to see full job url / desc\n    print(jobs)\n\n    #2 display in Jupyter Notebook\n    display(jobs)\n    \n    #3 output to csv\n    jobs.to_csv('jobs.csv', index=False)\n```\n\n### Output\n```\n             site                                              title                    company_name                 city state   job_type interval min_amount max_amount                                            job_url                                        description\n           indeed                                  Software Engineer                AMERICAN SYSTEMS            Arlington    VA       None   yearly     200000     150000  https://www.indeed.com/viewjob?jk=5e409e577046...  THIS POSITION COMES WITH A 10K SIGNING BONUS! ...\n           indeed                           Senior Software Engineer                TherapyNotes.com         Philadelphia    PA   fulltime   yearly     135000     110000  https://www.indeed.com/viewjob?jk=da39574a40cb...  About Us TherapyNotes is the national leader i...\n         linkedin                   Software Engineer - Early Career                 Lockheed Martin            Sunnyvale    CA   fulltime   yearly       None       None      https://www.linkedin.com/jobs/view/3693012711  Description:By bringing together people that u...\n         linkedin                       Full-Stack Software Engineer                            Rain             New York    NY   fulltime   yearly       None       None      https://www.linkedin.com/jobs/view/3696158877  Rain\u2019s mission is to create the fastest and ea...\n    zip_recruiter                       Software Engineer - New Grad                    ZipRecruiter         Santa Monica    CA   fulltime   yearly     130000     150000  https://www.ziprecruiter.com/jobs/ziprecruiter...  We offer a hybrid work environment. Most US-ba...\n    zip_recruiter                                 Software Developer                      TEKsystems              Phoenix    AZ   fulltime   hourly         65         75  https://www.ziprecruiter.com/jobs/teksystems-0...  Top Skills' Details\u2022 6 years of Java developme.```\n```\n### Parameters for `scrape_jobs()`\n\n\n```plaintext\nRequired\n\u251c\u2500\u2500 site_type (List[enum]): linkedin, zip_recruiter, indeed\n\u2514\u2500\u2500 search_term (str)\nOptional\n\u251c\u2500\u2500 location (int)\n\u251c\u2500\u2500 distance (int): in miles\n\u251c\u2500\u2500 job_type (enum): fulltime, parttime, internship, contract\n\u251c\u2500\u2500 is_remote (bool)\n\u251c\u2500\u2500 results_wanted (int): number of job results to retrieve for each site specified in 'site_type'\n\u251c\u2500\u2500 easy_apply (bool): filters for jobs on LinkedIn that have the 'Easy Apply' option\n```\n\n### Response Schema\n```plaintext\nJobPost\n\u251c\u2500\u2500 title (str)\n\u251c\u2500\u2500 company_name (str)\n\u251c\u2500\u2500 job_url (str)\n\u251c\u2500\u2500 location (object)\n\u2502   \u251c\u2500\u2500 country (str)\n\u2502   \u251c\u2500\u2500 city (str)\n\u2502   \u251c\u2500\u2500 state (str)\n\u251c\u2500\u2500 description (str)\n\u251c\u2500\u2500 job_type (enum)\n\u251c\u2500\u2500 compensation (object)\n\u2502   \u251c\u2500\u2500 interval (CompensationInterval): yearly, monthly, weekly, daily, hourly\n\u2502   \u251c\u2500\u2500 min_amount (float)\n\u2502   \u251c\u2500\u2500 max_amount (float)\n\u2502   \u2514\u2500\u2500 currency (str)\n\u2514\u2500\u2500 date_posted (datetime)\n\n```\n\n\n### FAQ\n  \n#### Encountering issues with your queries?\n  \nTry reducing the number of `results_wanted` and/or broadening the filters. If problems persist, please submit an issue.\n  \n#### Received a response code 429?\nThis means you've been blocked by the job board site for sending too many requests. Consider waiting a few seconds, or try using a VPN. Proxy support coming soon.\n  \n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Job scraper for LinkedIn, Indeed & ZipRecruiter",
    "version": "0.1.0",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e08d37364ff1c94fe5372c90eb33a206e6b607e2dbb6e8f4f378a771302868d3",
                "md5": "0072a552644b1ab1c2627a71312672f6",
                "sha256": "02e808987c070da3cd43edf186a6c64ba3f8378d22f2de64e4d42e6380b500e5"
            },
            "downloads": -1,
            "filename": "jobscrape-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0072a552644b1ab1c2627a71312672f6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10,<4.0",
            "size": 16253,
            "upload_time": "2023-09-03T14:39:49",
            "upload_time_iso_8601": "2023-09-03T14:39:49.858515Z",
            "url": "https://files.pythonhosted.org/packages/e0/8d/37364ff1c94fe5372c90eb33a206e6b607e2dbb6e8f4f378a771302868d3/jobscrape-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "866a54d84d7ff5bbe37ba624e27ae9bef4ba2c120409a3b57da2443345f23fb2",
                "md5": "4052d9ceed7cb403f983e38d4e9dab7f",
                "sha256": "f8441faf0f1babb7f9de401e56a2f5ba2a5232c050fd3506bb87d3f62f38efc1"
            },
            "downloads": -1,
            "filename": "jobscrape-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "4052d9ceed7cb403f983e38d4e9dab7f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10,<4.0",
            "size": 13667,
            "upload_time": "2023-09-03T14:39:52",
            "upload_time_iso_8601": "2023-09-03T14:39:52.248279Z",
            "url": "https://files.pythonhosted.org/packages/86/6a/54d84d7ff5bbe37ba624e27ae9bef4ba2c120409a3b57da2443345f23fb2/jobscrape-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-03 14:39:52",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "jobscrape"
}
        
Elapsed time: 0.21165s