Prerequisites
Required Software
Python 3.10 or Higher
Python 3.10 or Higher
The application is built with Python 3.13 but supports Python 3.10+.Check your Python version:Installation:
- macOS:
brew install python - Ubuntu/Debian:
sudo apt install python3 python3-pip - Windows: Download from python.org
Google Chrome Browser
Google Chrome Browser
Required for Selenium WebDriver to scrape LinkedIn.Why Chrome?
The project uses
webdriver-manager which automatically handles ChromeDriver installation and updates.Installation:
Download from google.com/chromeThe WebDriver Manager will automatically download the matching ChromeDriver version.
OpenAI API Key
OpenAI API Key
Required for AI-powered job analysis features.Get your API key:
- Sign up at platform.openai.com
- Navigate to API Keys
- Click “Create new secret key”
- Copy and save your key securely
Git (Optional)
Git (Optional)
Recommended for cloning the repository.Check if installed:Installation:
- macOS:
brew install git - Ubuntu/Debian:
sudo apt install git - Windows: Download from git-scm.com
Installation Steps
Create a Virtual Environment (Recommended)
Isolate project dependencies from your system Python:
Your terminal prompt should change to show
(venv) when the environment is activated.Install Python Dependencies
Install all required packages from This installs the following dependencies:
requirements.txt:| Package | Version | Purpose |
|---|---|---|
| flask | Latest | Web framework and routing |
| selenium | Latest | Browser automation for scraping |
| webdriver-manager | Latest | Automatic ChromeDriver management |
| beautifulsoup4 | Latest | HTML parsing and data extraction |
| pandas | Latest | Data manipulation |
| openpyxl | Latest | Excel file generation |
| openai | Latest | GPT API integration |
| python-dotenv | Latest | Environment variable management |
Installation typically takes 1-2 minutes depending on your internet connection.
Configure Environment Variables
Create a Add your OpenAI API key:
.env file in the project root directory:.env
Verification
Verify your installation is complete:Troubleshooting
ModuleNotFoundError: No module named 'flask'
ModuleNotFoundError: No module named 'flask'
Cause: Dependencies not installed or virtual environment not activated.Solution:
Selenium WebDriver errors
Selenium WebDriver errors
Cause: Chrome or ChromeDriver compatibility issues.Solutions:
- Update Google Chrome to the latest version
- Clear webdriver cache:
- Reinstall webdriver-manager:
OpenAI API authentication errors
OpenAI API authentication errors
Cause: Invalid or missing API key.Solution:
- Verify your
.envfile exists in the project root - Check the key format starts with
sk- - Ensure no extra spaces or quotes:
- Test your key:
Port 5000 already in use
Port 5000 already in use
Cause: Another application is using port 5000.Solution 1 - Use a different port:Edit Solution 2 - Kill the process:
flask_app.py (line 42):Permission denied when creating datos_extraidos/
Permission denied when creating datos_extraidos/
Cause: Insufficient file system permissions.Solution:
LinkedIn blocking or rate limiting
LinkedIn blocking or rate limiting
Cause: Too many requests or bot detection.Solutions:
- Wait a few minutes between scraping attempts
- Ensure you’re scraping public job listings only
- Consider using LinkedIn’s official API for production use
Configuration Options
Flask Application Settings
Editflask_app.py to customize:
flask_app.py
Output Directory
The default output directory isdatos_extraidos/. To change it, modify logica_negocio/servicio_vacantes.py:17:
Export Format
Inflask_app.py:24, the format parameter controls export type:
Updating
To update the application:Next Steps
Quick Start Guide
Run your first job analysis
Architecture Overview
Learn about design patterns and code structure