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.0.tar.gz (12.0 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.0.tar.gz.

File metadata

File hashes

Hashes for pudim-hunter-driver-simply-hired-1.0.0.tar.gz
Algorithm Hash digest
SHA256 eab062262119de15db02fdf85a6a9db874656929965d37a82e0f1626a85994e9
MD5 076dd932c2ee7ca551653868fb29b9d7
BLAKE2b-256 69ad20e4c26655cd2e8eb9c3dc672752a98c2088ca112a62a660d3f7d768a6f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pudim_hunter_driver_simply_hired-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a6ecdf7de4705614a54993f4e6c8d00ddc5f33a8f15068ba837d1c9272928ef0
MD5 77d1ebdff1ac350bbea798c99f18265d
BLAKE2b-256 4af96cc4d811f7283ee296434b4c7b4a42dd2e4b9c54e46e84d6fe1e40c12b9b

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