Skip to main content

Simply Hired driver implementation for The Pudim Hunter platform

Project description

pudim-hunter-driver-simply-hired

Python 3.9 Pytest 7.4 CI codecov PyPI version

A specialized Simply Hired job scraper package built on top of pudim-hunter-driver. This package provides a robust implementation for scraping job listings from Simply Hired while effectively avoiding bot detection mechanisms.

Table of Contents

Features

  • Specialized Simply Hired job scraping implementation
  • Advanced anti-bot detection using PhantomPlaywrightScraper
  • Headless browser automation with Playwright
  • Robust error handling and retry mechanisms
  • Clean job data extraction and transformation

Installation

From PyPI

pip install pudim-hunter-driver-simply-hired

For Development

git clone git@github.com:luismr/pudim-hunter-driver-simply-hired.git
cd pudim-hunter-driver-simply-hired
pip install -e .

Usage

from pudim_hunter_driver.models import JobQuery
from pudim_hunter_driver_simply_hired import SimplyHiredJobDriver

# Initialize the driver
driver = SimplyHiredJobDriver()

# Create a job search query
query = JobQuery(
    keywords="software engineer",
    location="San Francisco",
    page=1,
    items_per_page=20
)

# Fetch jobs
job_list = driver.fetch_jobs(query)
for job in job_list.jobs:
    print(f"{job.title} at {job.company}")

Anti-Bot Detection

The SimplyHiredJobDriver uses PhantomPlaywrightScraper internally to implement advanced anti-bot detection measures, ensuring reliable scraping from Simply Hired. This includes:

  • Browser fingerprint randomization
  • Stealth mode configurations
  • Automated request pattern variation
  • Advanced header management

Project Structure

pudim-hunter-driver-simply-hired/
├── src/
│   └── pudim_hunter_driver_simply_hired/
│       ├── __init__.py
│       └── driver.py            # SimplyHiredJobDriver implementation
├── tests/
│   ├── __init__.py
│   └── test_simply_hired.py     # SimplyHiredJobDriver tests
├── README.md
├── requirements.txt
├── setup.py
└── pyproject.toml

Development Setup

Prerequisites

  • Python 3.9 or higher
  • pip (Python package installer)
  • venv module

Setup Instructions

  1. Create and activate virtual environment:
python3.9 -m venv venv
source venv/bin/activate  # On Windows: .\venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
pip install -e .
  1. Install Playwright browsers:
playwright install chromium

Testing

Run the tests:

pytest tests/

The main test file:

  • test_simply_hired.py: Tests for SimplyHiredJobDriver implementation and its anti-bot capabilities

Contributing

Getting Started

  1. Fork and clone the repository:
git clone git@github.com:luismr/pudim-hunter-driver-simply-hired.git
cd pudim-hunter-driver-simply-hired
  1. Create your feature branch:
git checkout -b feature/amazing-feature
  1. Set up development environment as described above

Pull Request Process

  1. Update documentation as needed
  2. Add/update tests as needed
  3. Ensure all tests pass
  4. Submit PR for review

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Copyright (c) 2024-2025 Luis Machado Reis

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

pudim-hunter-driver-simply-hired-1.0.1.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file pudim-hunter-driver-simply-hired-1.0.1.tar.gz.

File metadata

File hashes

Hashes for pudim-hunter-driver-simply-hired-1.0.1.tar.gz
Algorithm Hash digest
SHA256 17df18e1aa5d985cef3bae5bc8e36df8ccbecb4f7fc404a8311a3b92a2ff14b8
MD5 1475e98c8e93aa01336a76db84e978be
BLAKE2b-256 eda815fe64064f37d521930951cf1cbcf50acb66c9172596e79473d99ea7d865

See more details on using hashes here.

File details

Details for the file pudim_hunter_driver_simply_hired-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pudim_hunter_driver_simply_hired-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 aa3388a6408d385ae2a9ae955cca85495ee267a099f1d13ecfe092ea4960ddfe
MD5 9cad4853b5fea855700ec059dc3d3dea
BLAKE2b-256 c48eb54f1a738ba72983cd5f5e0b87825c0eea61249d35614b6c6d7a1be3d44a

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