A Telegram bot designed to help collect CV data for training ATS (Applicant Tracking System) systems. This bot can scrape resume data from LinkedIn or Google, process the data, generate CSV files, and train ML models to support the TuniHire platform.
- Web scraping of CV data from LinkedIn and Google
- Data preprocessing and cleaning
- CSV data export for ATS training
- PDF report generation with data visualizations
- Machine learning model training and evaluation using:
- K-Nearest Neighbors (KNN)
- Support Vector Machines (SVM)
- AdaBoost (ADD)
- User-friendly Telegram bot interface
- Python 3.7+
- Chrome/Chromium browser (for web scraping)
- Telegram account
-
Create a Bot on Telegram:
- Open Telegram and search for "BotFather."
- Start a chat with BotFather and send the command
/newbot. - Follow the instructions to set up your bot's name and username.
- Once your bot is created, BotFather will provide you with a token.
-
Store the Token Securely:
- Create a file named
.envin the root directory of your project. - Add your token to this file in the format:
TELEGRAM_TOKEN=your_telegram_bot_token_here
- Create a file named
-
Update
.gitignore:- Add
.envto your.gitignorefile to prevent it from being tracked by Git.
- Add
-
Install Dependencies:
- Ensure all dependencies are installed using
pip install -r requirements.txt.
- Ensure all dependencies are installed using
- Clone this repository:
git clone https://github.com/Nihed-Abd/CV-Scraper-Machine-Learning-Bot
cd CV-Scraper-Machine-Learning-Bot
- Install dependencies:
pip install -r requirements.txt
- Install Chrome/Chromium browser (required for Selenium)
- Start the bot by running:
python main.py
-
In Telegram, find your bot (@Your_Bot_name) and start a conversation.
-
Use the following commands:
/start- Begin a new scraping session/cancel- Cancel the current operation/help- Show help message
-
Follow the bot's instructions to:
- Specify target country
- Set number of CVs to scrape (max 200)
- Select data source (LinkedIn or Google)
-
After processing, the bot will provide:
- CSV file with structured CV data
- PDF report with data analysis
- ML model evaluation results
TuniHireBot/
├── main.py # Main bot file
├── requirements.txt # Project dependencies
├── README.md # Project documentation
├── bot_modules/ # Bot modules
│ ├── scraper.py # Web scraping functionality
│ ├── data_processor.py # Data processing and output generation
│ └── ml_models.py # ML model implementation and evaluation
├── data/ # Storage for temporary data
└── output/ # Generated CSV and PDF files
This bot requires a Telegram API token to function. Keep your token secure and never share it publicly.
MIT License
This tool is intended for educational and research purposes only. Users are responsible for compliance with all applicable laws and website terms of service when using this tool.