Skip to content

Job crawler robot which finds jobs on job board platforms like LinkedIn, Glassdoor, and indeed based on their post time and send them to a telegram channel

Notifications You must be signed in to change notification settings

AliShahbazi81/JobCrawler

Repository files navigation

JobCrawler

JobCrawler is a robust job searching bot designed to find and aggregate job postings from popular job board platforms such as LinkedIn, Glassdoor, and Indeed. It filters jobs based on their post time and sends them to a configured Telegram channel.

Features

  • Job Scraping: Retrieves job listings from LinkedIn, Glassdoor, and Indeed.
  • Telegram Integration: Sends job details to a specified Telegram channel.
  • Filtering: Filters jobs based on posting time to ensure the latest opportunities.
  • Configurable: Easy configuration through application settings.

Technologies Used

  • .NET Core 8 WebAPI: The backend framework for building the API.
  • Services and Interfaces: Modular design with services handling core functionalities.
  • Telegram Bot API: Integration for sending messages to Telegram channels.
  • Dependency Injection: Ensures scalable and maintainable code.

Installation

  1. Clone the repository:
    git clone https://github.com/AliShahbazi81/JobCrawler.git
    cd JobCrawler
  2. Create appsettings.json with your specific configurations, especially the Telegram API settings.
  3. Restore the necessary packages:
    dotnet restore
  4. Build the project:
    dotnet build

Usage

  1. Run the application:
    dotnet run
  2. Monitor the console output for logs indicating successful job scraping and Telegram message dispatches.

Configuration

Create an appsettings.json file in the /JobCrawler/ directory alongside the file JobCrawler.csproj with the following structure to configure your Telegram bot settings:

{
  "Telegram": {
    "ApiToken": "YOUR_TELEGRAM_BOT_TOKEN",
    "ChannelId": "YOUR_TELEGRAM_CHANNEL_ID"
  }
}

Project Structure

  • JobCrawler.Domain: Contains the domain entities and business logic.
  • JobCrawler.Infrastructure.Crawler: Handles the job scraping functionalities.
  • JobCrawler.Services.Crawler: Manages the interaction with job board platforms.
  • JobCrawler.Services.TelegramAPI: Manages the Telegram Bot API integration.

Contributing

  1. Fork the repository.
  2. Create a new feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add some AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contact

For any questions or feedback, please contact Ali Shahbazi at [email protected] or open an issue on this repository.

About

Job crawler robot which finds jobs on job board platforms like LinkedIn, Glassdoor, and indeed based on their post time and send them to a telegram channel

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages