Overview
Web Scraping Hub provides a powerful catalog browsing system that allows users to explore thousands of movies, series, and anime titles. The catalog is organized into sections with intelligent pagination and clean URL routing.Catalog Sections
The platform organizes content into distinct sections for easy navigation:Movies
Browse the latest movies in Latino format with comprehensive metadata
Series
Explore TV series with episodic content organized by seasons
Anime
Discover anime titles and movies with specialized categorization
Available Sections
The backend supports multiple content sections configured inconfig.py. Each section has:
- Unique URL endpoint for content scraping
- Section identifier for filtering and routing
- Content type classification (movie, series, anime)
app.py:20-21
Pagination System
Clean URL Routing
The platform uses clean, SEO-friendly URLs for pagination instead of query parameters:Backend Pagination Logic
The API handles page-based content retrieval with automatic URL construction:app.py:114-130
The pagination logic includes special handling for different section URL patterns, ensuring compatibility with various content sources.
Frontend Pagination Component
ThePagination component provides an intuitive navigation experience:
Key Features
Key Features
- Smart page range display: Shows up to 5 page numbers at a time
- Current page highlighting: Active page displayed with neon cyan styling
- Previous/Next navigation: Arrow buttons with disabled state handling
- Responsive design: Hides labels on mobile, shows icons only
- Loading state support: Disables navigation during data fetching
Pagination.tsx:17-43
Catalog Grid Display
Responsive Grid Layout
The catalog uses a fully responsive grid that adapts to different screen sizes:| Screen Size | Columns | Breakpoint |
|---|---|---|
| Mobile | 2 | Default |
| Small | 2 | sm: |
| Medium | 3 | md: |
| Large | 4 | lg: |
| XL | 5 | xl: |
| 2XL | 6 | 2xl: |
CatalogGrid.tsx:27
Content Cards
Each catalog item displays as an interactive card with:- Visual Elements
- Metadata Display
- Interactive Features
- Poster image with 3:4 aspect ratio
- Type badge (Movie/Series/Anime) with color coding
- Hover overlay with play icon and metadata
- Neon border effect on hover
Type-Based Color Coding
The platform uses distinct color themes for different content types:CatalogGrid.tsx:48-56
Movies
Fuchsia Pink theme with matching glows
Series
Electric Sky (cyan) with neon effects
Anime
Magenta Pink for anime content
Loading States
The catalog includes skeleton loading states for smooth user experience:CatalogGrid.tsx:12-24
Data Extraction
Catalog data is extracted from web sources using thegeneric_extractor module:
Extraction Process
- HTML Fetching: Cloudflare-bypassed HTTP requests
- DOM Parsing: BeautifulSoup selects article elements
- Data Extraction: Metadata pulled from structured HTML
- Image Handling: Smart lazy-loading detection and fallbacks
- Type Classification: Automatic content type identification
generic_extractor.py:4-51
Image Optimization
The extractor includes sophisticated image handling:Performance Optimizations
Lazy Loading Strategy
Only the first image loads eagerly; all others use native lazy loading:CatalogGrid.tsx:45
Query Caching
The frontend uses React Query for intelligent data caching:- Stale time: 2 minutes
- Automatic refetching: On window focus
- Background updates: Seamless data refresh
User Experience Features
Hover Effects
Hover Effects
Cards scale up 5% and display neon border with play icon overlay
Smooth Transitions
Smooth Transitions
All interactive elements use CSS transitions (300ms duration)
Keyboard Navigation
Keyboard Navigation
Error Handling
Error Handling
Graceful fallbacks for missing images and failed extractions
API Integration
The catalog connects to the backend via the/api/listado endpoint:
app.py:79-141
The endpoint supports both section browsing and search functionality through the same interface.
Best Practices
When working with the catalog system:- Always handle loading states - Show skeletons during data fetch
- Implement error boundaries - Catch and display extraction failures
- Use type-based routing - Direct users to correct player pages
- Optimize images - Lazy load all but first visible images
- Cache responses - Reduce server load with client-side caching
Related Features
Search
Learn about search and deep search functionality
Video Player
Explore the video player and streaming features