Skip to content

About

A command-line tool that interfaces with the **Adzuna API** to fetch, filter, and organize remote job listings

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

Repository files navigation

🚀 Python Job Scraper (CS61A-Style)

A professional-grade command-line tool that interfaces with the Adzuna API to fetch, filter, and organize remote job listings. This project was built to apply concepts of Higher-Order Functions, Abstraction, and Data Persistence to a real-world utility.

🌟 Key Features

  • Live API Integration: Fetches real-time data from the Adzuna job board.
  • Functional Filtering: Uses higher-order functions and predicates to refine search results (e.g., filtering for remote-only positions).
  • Clean Abstraction: Separates data fetching, logic processing, and output formatting for easy maintenance.
  • Automated Exports: Saves filtered results to a structured Markdown or CSV file for easy tracking.

🛠️ Technical Implementation

This project moves beyond standard scripting by utilizing core computer science principles:

  • Closures & HOFs: The filtering engine accepts lambda functions, allowing for dynamic search criteria without changing the core logic.
  • Nested Data Parsing: Efficiently navigates complex JSON dictionaries returned by REST APIs.
  • Persistent Storage: Implements file I/O to bridge the gap between volatile memory and long-term data storage.

⚙️ Installation & Setup

  1. Clone the repository:
Code executed successfully!
```bash
   git clone [https://github.com/YOUR_USERNAME/job-scraper-python.git](https://github.com/YOUR_USERNAME/job-scraper-python.git)
   cd job-scraper-python
  1. Install dependencies:

    pip install requests
  2. Get your API Keys: Sign up for a free developer account at Adzuna and obtain your app_id and app_key.

  3. Configuration: Replace the placeholder variables in scraper.py with your credentials:

    APP_ID = "your_id_here"
    APP_KEY = "your_key_here"

🚀 Usage

Run the script directly from your terminal:

python3 scraper.py

The script will output results to the console and automatically generate a results.md file containing the latest remote opportunities.

📈 Future Roadmap

  • Add support for multiple countries via command-line arguments.
  • Implement a SQLite database for tracking previously seen jobs.
  • Create a desktop notification system for high-priority keywords.

🤝 Contributing

Contributions are welcome! Whether it's optimizing a function or adding a new API source, feel free to fork the repo and submit a pull request. """

with open("README.md", "w") as f: f.write(readme_content)

Your README.md file is ready
[file-tag: code-generated-file-3221975936742511470]

Here is the full content of the **README.md** file for your project:

```markdown
# 🚀 Python Job Scraper (CS61A-Style)

A professional-grade command-line tool that interfaces with the **Adzuna API** to fetch, filter, and organize remote job listings. This project was built to apply concepts of **Higher-Order Functions**, **Abstraction**, and **Data Persistence** to a real-world utility.

## 🌟 Key Features
- **Live API Integration**: Fetches real-time data from the Adzuna job board.
- **Functional Filtering**: Uses higher-order functions and predicates to refine search results (e.g., filtering for remote-only positions).
- **Clean Abstraction**: Separates data fetching, logic processing, and output formatting for easy maintenance.
- **Automated Exports**: Saves filtered results to a structured Markdown or CSV file for easy tracking.

## 🛠️ Technical Implementation
This project moves beyond standard scripting by utilizing core computer science principles:
- **Closures & HOFs**: The filtering engine accepts lambda functions, allowing for dynamic search criteria without changing the core logic.
- **Nested Data Parsing**: Efficiently navigates complex JSON dictionaries returned by REST APIs.
- **Persistent Storage**: Implements file I/O to bridge the gap between volatile memory and long-term data storage.

## ⚙️ Installation & Setup

1. **Clone the repository:**
   ```bash
   git clone [https://github.com/YOUR_USERNAME/job-scraper-python.git](https://github.com/YOUR_USERNAME/job-scraper-python.git)
   cd job-scraper-python
  1. Install dependencies:

    pip install requests
  2. Get your API Keys: Sign up for a free developer account at Adzuna and obtain your app_id and app_key.

  3. Configuration: Replace the placeholder variables in scraper.py with your credentials:

    APP_ID = "your_id_here"
    APP_KEY = "your_key_here"

🚀 Usage

Run the script directly from your terminal:

python3 scraper.py

The script will output results to the console and automatically generate a results.md file containing the latest remote opportunities.

📈 Future Roadmap

  • Add support for multiple countries via command-line arguments.
  • Implement a SQLite database for tracking previously seen jobs.
  • Create a desktop notification system for high-priority keywords.

🤝 Contributing

Contributions are welcome! Whether it's optimizing a function or adding a new API source, feel free to fork the repo and submit a pull request.

About

A command-line tool that interfaces with the **Adzuna API** to fetch, filter, and organize remote job listings

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages