Welcome to the Bronya project! This repository contains a comprehensive setup for a web scraping and data processing application using Scrapy, RabbitMQ, and various other tools and libraries.
Ensure you have the following installed:
- Python 3.10+
- Node.js 12.20.1+
- Docker
- RabbitMQ
-
Clone the repository:
git clone https://github.com/yourusername/bronya.git cd bronya
-
Set up the environment:
cp .env.example .env # Update .env with your configuration
-
Install dependencies:
poetry install
-
Run database migrations:
poetry run alembic upgrade head
- Build and run Docker containers:
docker-compose up --build
To run a specific spider, use the following command:
scrapy crawl <spider_name>
-
Pylint:
pylint <your_python_files>
-
Black:
black <your_python_files>
-
isort:
isort <your_python_files>
Ensure code quality by using pre-commit hooks:
pre-commit install
Configuration files:
.env
: Environment variablessettings.py
: Scrapy settingsalembic.ini
: Database migration settingspyproject.toml
: Project dependencies and configurations
bronya/
├── alembic.ini
├── commands/
├── database/
├── deploy.sh
├── Dockerfile.rabbitmq
├── items/
├── loaders/
├── middlewares/
├── pipelines/
├── pm2.config.js
├── pyproject.toml
├── README.md
├── rmq/
├── scrapy.cfg
├── settings.py
├── spiders/
├── tests/
└── utils/
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please read the CONTRIBUTING.md for details on the code of conduct and the process for submitting pull requests.
For any inquiries, please contact Prince Kumar.
Happy coding! 🎉