Initial commit. v1 of the script
This commit is contained in:
commit
4795524b27
7 changed files with 251 additions and 0 deletions
68
README.md
Normal file
68
README.md
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
# Webscreenshot Docker
|
||||
|
||||
## Ziel des Projekts:
|
||||
Automatisches Erstellen von Screenshots von ganzen Webseiten oder einzelnen Elementen (Auswahl via CSS-Selektor) und Speicherung in einem Apache-Webroot.
|
||||
Die Screenshots werden in einem konfigurierbaren Intervall erstellt und nur gespeichert, wenn der aktuelle Screenshot von der vorheringen Version abweicht.
|
||||
|
||||
**Features:**
|
||||
|
||||
- Multi-URL-Support
|
||||
- Flexible Dateinamen der Screenshots
|
||||
- Skalierung der Screenshots in Relation zur Ursprungsgröße
|
||||
- Anpassbare Größe bei Auswahl einzelner CSS-Elemente (Höhe und Breite)
|
||||
- Individuelles Check-Intervall pro URL
|
||||
- Speicherung nur bei Änderung
|
||||
|
||||
---
|
||||
|
||||
## Projektstruktur
|
||||
|
||||
webscreen/
|
||||
|-- docker-compose.yml
|
||||
|-- Dockerfile
|
||||
|-- requirements.txt
|
||||
|-- app/
|
||||
|-- webscreenshot.py
|
||||
|-- urls.csv
|
||||
|
||||
---
|
||||
|
||||
## Konfiguration
|
||||
Die Hauptkonfiguration erfolgt über die Datei `urls.csv`:
|
||||
|
||||
| Spalte | Beschreibung |
|
||||
|-----------------|-------------|
|
||||
| `url` | URL der Webseite |
|
||||
| `filename` | Name der Ausgabedatei (z.B. `example.png`) |
|
||||
| `scale` | Skalierungsfaktor (z.B. 0.5 für 50%) |
|
||||
| `selector` | CSS-Selector des Elements, das gescreenshotet werden soll; leer = ganze Seite |
|
||||
| `element_width` | Breite des Elements vor Screenshot (px); leer = keine Änderung |
|
||||
| `element_height` | Höhe des Elements vor Screenshot (px); leer = keine Änderung |
|
||||
| `interval_minutes` | Intervall für wiederholten Screenshot in Minuten; leer = Docker-Variable |
|
||||
|
||||
Für den Fall dass bei der Skalierung oder beim Intervall keine Eintragung vorgenommen wird werden die "Standartwerte" aus den docker-compose environment-Variabeln
|
||||
genommen. Diese können in der `docker-compose.yml` angepasst werden.
|
||||
|
||||
---
|
||||
|
||||
## Installation und Nutzung
|
||||
|
||||
1. Output-Verzeichnis erstellen:
|
||||
mkdir output
|
||||
|
||||
2. `docker-compose.yml` ggf. anpassen
|
||||
|
||||
3. `urls.csv` anpassen
|
||||
|
||||
4. Stack starten
|
||||
docker compose up -d --build
|
||||
|
||||
5. Screenshots sind abrufbar unter `http://localhost:8080/example.png
|
||||
|
||||
---
|
||||
|
||||
## Hinweise
|
||||
|
||||
- Im Docker-Stack werden 2 Container erstellt: ein apache-Container um die Screenshots zugänglich zu machen und ein webscreenshot-Container, welcher das eigentliche python-Skript ausführt.
|
||||
- Es wird empfohlen, den apache-Container hinter einem reverse proxy zu betreiben, so lassen sich die Screenshots per https abrufen.
|
||||
- Der Port des apache-Servers kann regulär frei in der `docker-compose.yml` geändert werden
|
||||
Loading…
Add table
Add a link
Reference in a new issue