🍰 Everything can be RSS
RSSHub Python is a lightweight, extensible RSS generator. It is a Python-based implementation of the original RSSHub philosophy: bringing RSS feeds to everything.
Demo: https://pyrsshub.vercel.app
- Versatile Source Support: Generate RSS from CSV, TSV, TXT, PDF, EPUB, MOBI, and even raw HTML.
- Intelligent Extraction: Built-in readability engine to extract clean content from web pages and formatted documents.
- Playwright Powered: Seamlessly handles dynamic, JavaScript-heavy websites using modern browser automation.
- Smart Caching: Implements Stale-While-Revalidate (SWR) strategies to balance performance and freshness.
- Hugging Face Integration: Turn datasets on Hugging Face into fresh RSS feeds.
- Anki Integration: Sync your due cards as an RSS feed for mobile review.
Ensure you have uv installed.
git clone https://github.com/alphardex/RSSHub-python
cd RSSHub-python
uv sync
uv run flask runNote: For full features (Playwright, PDF processing, etc.), use
pip install -r requirements-full.txtinstead of the defaultrequirements.txt.
Extract random content blocks from various file formats.
- Supports:
CSV,TSV,TXT,PDF,EPUB,MOBI, and Web URLs. - Features: Automatic paragraph joining for PDFs and readability extraction for web pages.
- Parameters:
url: Custom file URL (supports CSV/TXT/PDF/EPUB/MOBI or web pages)title_col: Column index for title (0-based, default: 0)delimiter: Separator type (tab,newline,double_newline,triple_newline, etc.)min_length: Minimum title length requirementinclude_context: Include previous and next lines in description when set totrue
A dedicated endpoint to extract clean text from any URL, stripping away ads and navigation.
Filter any feed using URL parameters:
include_title/include_description: Case-insensitive keyword matching (supports|for OR).exclude_title/exclude_description: Remove unwanted content.limit: Control the number of items returned.
docker run -d \
--name pyrsshub \
-p 5000:5000 \
--restart unless-stopped \
--shm-size=512mb \
hillerliao/pyrsshub:latest-
Note: The project is pre-configured for Vercel Lite Mode via
vercel.json. It usesrequirements-lite.txtto avoid the 250MB size limit. Advanced features like Playwright and PDF parsing are disabled in Lite Mode. -
Zeabur: Supports both Git integration and pre-built Docker images.
We welcome new spiders!
- Spider: Create a script in
/rsshub/spiders/your_spider/. - Route: Add the endpoint definition in
/rsshub/blueprints/main.py. - Docs: Document your new feed in
/rsshub/templates/main/feeds.html.
- Discord: Join our server
- Contribution Guide: Check our crawler tutorial (Chinese).