rss_scraper

RSS Scraper

A modern, elegant web application for checking and validating RSS/Atom feeds. Built with Python (Flask) and featuring a glassmorphism-inspired UI.

License Python Flask

โœจ Features

๐Ÿ› ๏ธ Tech Stack

๐Ÿš€ Getting Started

Prerequisites

Installation

  1. Clone the repository

    git clone https://github.com/pedrobritx/rss_scraper.git
    cd rss_scraper
    
  2. Create a virtual environment (Optional but Recommended)

    python -m venv .venv
    source .venv/bin/activate  # On Windows use: .venv\Scripts\activate
    
  3. Install dependencies

    pip install -r requirements.txt
    

Running the Application

  1. Start the server

    python run.py
    

    Optionally, specify a custom port:

    PORT=8000 python run.py
    
  2. Access the app Open your browser and navigate to: http://localhost:5001 (or your custom port)

๐Ÿ“‚ Project Structure

rss_scraper/
โ”œโ”€โ”€ rss_scraper/
โ”‚   โ”œโ”€โ”€ scraper/          # Scraping logic and validation
โ”‚   โ”œโ”€โ”€ static/           # CSS, JS, and assets
โ”‚   โ”œโ”€โ”€ templates/        # HTML templates
โ”‚   โ”œโ”€โ”€ routes.py         # Flask routes
โ”‚   โ””โ”€โ”€ text_utils.py     # Utilities
โ”œโ”€โ”€ tests/                # Unit and integration tests
โ”œโ”€โ”€ pyproject.toml        # Project configuration
โ”œโ”€โ”€ requirements.txt      # Dependencies
โ””โ”€โ”€ run.py               # Application entry point

๐Ÿงช Running Tests

To run the test suite, ensure you have the dev dependencies installed:

pip install .[dev]
pytest

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your 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.