Files
wiki/Catalogue-Self-Hosted/apps/app-html2rss.md
T
2026-06-09 18:40:21 +02:00

3.1 KiB


title: HTML2RSS created: 2026-06-08 updated: 2026-06-08 type: app tags: [catalogue, rss, app-marathon-batch-b] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=RSS&app=html2rss, https://html2rss.github.io/html2rss/]

📡 HTML2RSS

Générateur de flux RSS à partir de pages HTML : configuration en YAML, sélecteurs CSS pour extraire titres/liens/descriptions, support full-text scraping.

📋 Informations Générales

Champ Valeur
Site web html2rss.github.io
GitHub html2rss/html2rss
License MIT
Langage Ruby
Étoiles GitHub 0.3k
Catégorie [[cat-rss

📝 Description

HTML2RSS transforme n'importe quelle page HTML en flux RSS en décrivant les sélecteurs CSS à utiliser pour extraire les items (titre, lien, description, date, image). C'est le "RSS as code" : déclaratif, versionnable, testable.

Différence vs RSSHub : HTML2RSS = générique (config libre), RSSHub = catalogue de routes (maintenu par la communauté). HTML2RSS convient pour des sites de niche que RSSHub ne couvre pas.

Pour qui : développeurs qui veulent scraper un site précis avec un simple fichier YAML, et le maintenir dans Git.

🚀 Installation

Docker Compose

version: '3.8'
services:
  html2rss:
    image: html2rss/web:latest
    container_name: html2rss
    restart: unless-stopped
    environment:
      - HTML2RSS_CONFIG_DIR=/config
    volumes:
      - ./config:/config
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.html2rss.rule=Host(`rss.example.com`)"
      - "traefik.http.routers.html2rss.entrypoints=websecure"
      - "traefik.http.routers.html2rss.tls.certresolver=letsencrypt"

Exemple de configuration (feeds.yml)

example_blog:
  url: https://example.com/blog
  channels:
    - title: "Blog Example"
      url: https://example.com/blog
      items:
        selector: "article.post"
        title: "h2"
        link:
          selector: "a"
          attribute: href
        description: ".excerpt"
        time: "time[datetime]"
        time_format: "%Y-%m-%dT%H:%M:%S%z"

🔄 Alternatives

Open Source

Propriétaires

  • RSS.app — Service visuel
  • Feed43 — Custom feeds visuels
  • Distill.io — Monitor + export RSS

🔐 Sécurité

  • Sélénium : optionnel, désactivé par défaut
  • HTTP cache : ETag, Last-Modified respectés
  • Auth basic : support du Authorization header
  • Rate-limit : interne (par feed configurable)

📚 Ressources

Pages Liées