Skip to content

Satrap18/JobinjaScraper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jobinja Scraper (GUI-Based)

A desktop application built with Python, Selenium, and Tkinter that scrapes job listings from Jobinja based on user-defined search keywords and filters, then exports the results to an Excel file with a built-in graphical viewer.


📌 Overview

This project is a graphical job scraping tool designed to automate job searching on Jobinja.
Users can log in automatically, apply advanced search filters, scrape job data page by page, and view results directly inside the application.

The application is fully GUI-based and does not require users to interact with the browser manually.

A demo video demonstrating the complete workflow is included in the repository.


🚀 Features

  • Automated login to Jobinja using Selenium
  • Secure credential handling via env.py
  • Tkinter-based graphical user interface
  • Manual Update button to refresh session and data
  • Desktop notification after successful update
  • Keyword-based job search input
  • Support for all major Jobinja search filters
  • Page-by-page scraping of job listings
  • Export results to an Excel file
  • Built-in Excel viewer inside the application
  • Clickable job links that open the original Jobinja page
  • Separate GUI window for viewing saved job results

🛠 Tech Stack

  • Python
  • Selenium
  • Tkinter
  • Excel handling libraries (pandas / openpyxl)
  • ChromeDriver

⚙️ Installation & Setup

1. Clone the Repository

git clone https://github.com/Satrap18/JobinjaScraper.git
cd JobinjaScraper

2. (Optional) Create Virtual Environment

python -m venv venv

Activate it:

Windows

venv\Scripts\activate

Linux / macOS

source venv/bin/activate

3. Install Dependencies

pip install -r requirements.txt

4. Configure Login Credentials

Create a file named env.py in the project root directory:

EMAIL = "your_email@example.com"
PASSWORD = "your_password"

⚠️ Important: Do not commit env.py to GitHub. Make sure it is included in .gitignore.


▶️ How to Run the Application

To start the graphical interface, run:

py new_version.py

After executing this command, the Tkinter GUI will open automatically.


🖥 Application Workflow

  1. Click the Update button

    • The app logs into Jobinja automatically
    • Session is refreshed
    • A notification confirms the update
  2. Enter job keywords in the search input

  3. Select desired filters (location, experience level, job type, etc.)

  4. Start the search

    • The scraper navigates through result pages
    • Extracts job data based on selected criteria
    • Saves results into an Excel file
  5. Click Show Excel File

    • Opens a separate GUI window
    • Displays stored job listings
    • Each job entry contains a clickable link to Jobinja

📂 Output

  • Scraped data is saved as an Excel file
  • The file can be viewed directly inside the application
  • Job links remain fully functional and open in the browser

📹 Demo

A video demonstrating the full functionality of the application is available in the repository. https://github.com/user-attachments/assets/35076d59-5686-4ba8-812a-f785ccafb4e2


⚠️ Notes

  • ChromeDriver must match your installed Chrome version
  • ChromeDriver should be available in system PATH
  • Do not run multiple instances simultaneously
  • Changes in Jobinja website layout may require updates to the scraper

📌 Project Status

✅ Completed Stable and ready for use.


👤 Author

Mohammadreza Karimi GitHub: https://github.com/Satrap18

About

Developed a web scraper for Jobinja.ir to collect and analyze job postings efficiently. Implemented automated crawling with Selenium and BeautifulSoup, robust error handling, and data storage in SQLite. Built a simple Tkinter GUI for filtering, searching, and managing the scraped job data. Ideal for market research and job trend analysis.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages