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

103 lines
3.1 KiB
Markdown

---
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](https://html2rss.github.io/html2rss/) |
| **GitHub** | [html2rss/html2rss](https://github.com/html2rss/html2rss) |
| **License** | MIT |
| **Langage** | Ruby |
| **Étoiles GitHub** | 0.3k ⭐ |
| **Catégorie** | [[cat-rss|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
```yaml
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)
```yaml
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
- [[app-rsshub]] — Catalogue de routes
- [[app-rss-bridge]] — Bridges PHP
- **FeedMe/Feedjira** — Libraries Ruby
### 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
- [Documentation](https://html2rss.github.io/html2rss/)
- [GitHub](https://github.com/html2rss/html2rss)
- [Exemples](https://github.com/html2rss/html2rss/tree/main/spec/fixtures)
## Pages Liées
- [[cat-rss]] — Catégorie RSS
- [[app-rsshub]] — Concurrent
- [[recettes-docker-compose]] — Templates Docker