Bump version to v1.7.1

This commit is contained in:
Oliver 2025-08-28 11:18:30 +02:00
parent a46d919118
commit d65c55d315
No known key found for this signature in database
10 changed files with 1520 additions and 75 deletions

16
.env.example Normal file
View file

@ -0,0 +1,16 @@
# Copy to .env and fill in values
# WordPress base URL (required)
WP_BASE_URL=https://your-site.tld
# Authentication: prefer WP_AUTH_BASE64 OR use USERNAME+PASSWORD (Application Password)
# Example to generate: base64(username:application_password)
WP_AUTH_BASE64=
# Alternatively provide username and application password
WP_USERNAME=
WP_PASSWORD=
# OpenAI API key (optional, enables rewrite)
OPENAI_API_KEY=

40
AGENTS.md Normal file
View file

@ -0,0 +1,40 @@
# Repository Guidelines
## Project Structure & Module Organization
- `app.py`: Streamlit UI (entry point for the app).
- `main.py`: RSS fetching, rewrite, and WordPress upload logic.
- `utils/`: Helpers (image/article extraction, WP uploader, UI helpers).
- `pages/`: Streamlit pages (e.g., `01_feed_manager.py`, `log_viewer.py`).
- `data/`: JSON state (`articles.json`, `feeds.json`).
- `logs/`: Runtime logs (`rss_tool.log`).
- `docs/`: Project notes (e.g., roadmap).
- `__version__.py`: Version string written by `versioning.py`.
## Build, Test, and Development Commands
- Create env: `python -m venv .venv && source .venv/bin/activate`
- Install deps: `pip install -r requirements.txt`
- Run app: `streamlit run app.py`
- Version bump: `python versioning.py --level patch --push` (updates `__version__.py`, prepares `CHANGELOG.md`, creates tag; see `--help`).
## Coding Style & Naming Conventions
- Python 3.10+, PEP 8, 4-space indentation, type hints where practical.
- Modules and functions: `snake_case`; classes: `PascalCase`.
- Streamlit pages: numeric prefix for order, e.g., `pages/01_feature.py`.
- Keep functions small and pure in `utils/`; isolate I/O in app layers.
- Suggested tools (optional): Black (`black .`) and Ruff (`ruff check .`).
## Testing Guidelines
- Framework: pytest (recommended). Place tests under `tests/` with `test_*.py`.
- Unit tests for `utils/*`; light integration checks for `main.py` with temporary files.
- Run: `pytest -q`. Add coverage if needed (e.g., `pytest --cov=utils`).
- Test data: avoid mutating files in `data/`; use temp dirs or fixtures.
## Commit & Pull Request Guidelines
- Commits: imperative mood, concise; examples: `Add feed dedupe`, `Fix WP upload retry`, `Bump version to v1.7.0`.
- PRs: clear description, linked issue, screenshots/GIFs for UI changes, note env variables touched.
- Update `CHANGELOG.md` and bump version via `versioning.py` before release PRs.
## Security & Configuration Tips
- Required env: `OPENAI_API_KEY`, `WP_BASE_URL`, `WP_USERNAME`, `WP_PASSWORD` or `WP_AUTH_BASE64` (see `.env`).
- Never commit secrets; `.env` is git-ignored. Avoid hardcoded credentials; prefer `os.getenv`.
- Logs and data may contain content; do not commit `logs/` or large `data/` snapshots.

View file

@ -1,3 +1,7 @@
## [1.7.1] - 2025-08-28
- Beschreibung...
## [1.7.0] - 2025-08-24 ## [1.7.0] - 2025-08-24
- Beschreibung... - Beschreibung...

View file

@ -74,3 +74,16 @@ bash update.sh
streamlit run app.py streamlit run app.py
---
## 🔐 Konfiguration (.env)
Lege eine `.env` im Projekt an (siehe `.env.example`). Erforderliche Variablen:
- `WP_BASE_URL`: Basis-URL deiner WordPress-Seite (z. B. https://example.com)
- Authentifizierung (eine Option wählen):
- `WP_AUTH_BASE64`: Bevorzugt. Base64 von `username:application_password`
- oder `WP_USERNAME` und `WP_PASSWORD`: Benutzer + Anwendungspasswort
- Optional: `OPENAI_API_KEY` für das Umschreiben von Artikeln
Hinweis: Der Code liest ausschließlich aus `.env`. Es gibt keine hartkodierten Standard-Credentials.

View file

@ -1 +1 @@
VERSION = "1.7.0" VERSION = "1.7.1"

65
app.py
View file

@ -14,6 +14,7 @@ from main import (
from utils.dalle_generator import generate_dalle_image from utils.dalle_generator import generate_dalle_image
from utils.wordpress_uploader import WordPressUploader from utils.wordpress_uploader import WordPressUploader
from utils.css_loader import load_css, apply_dark_theme from utils.css_loader import load_css, apply_dark_theme
from utils.config import validate_env
import os import os
from collections import Counter from collections import Counter
import time import time
@ -29,6 +30,19 @@ st.set_page_config(
load_css() load_css()
apply_dark_theme() apply_dark_theme()
# === Environment-Validierung (.env) ===
env_check = validate_env()
if not env_check.get("ok"):
st.error("🔒 Sicherheits-/Konfigurationshinweis: Bitte .env korrekt konfigurieren.")
for msg in env_check.get("errors", []):
st.markdown(f"- ❌ {msg}")
for msg in env_check.get("warnings", []):
st.markdown(f"- ⚠️ {msg}")
elif env_check.get("warnings"):
st.info(" Hinweise zur Konfiguration:")
for msg in env_check.get("warnings", []):
st.markdown(f"- ⚠️ {msg}")
# === Initialize Session State === # === Initialize Session State ===
if 'selected_articles' not in st.session_state: if 'selected_articles' not in st.session_state:
st.session_state.selected_articles = set() st.session_state.selected_articles = set()
@ -928,20 +942,7 @@ with tab6:
</div> </div>
""", unsafe_allow_html=True) """, unsafe_allow_html=True)
# WordPress Auth Debug (nur für Entwicklung) # Sicherheit: Kein Anzeigen sensibler Auth-Details mehr
if st.checkbox("🔧 Debug-Modus (Auth-Details anzeigen)", value=False):
st.warning("⚠️ Nur für Entwicklung - zeigt Auth-Details!")
wp_base64 = os.getenv("WP_AUTH_BASE64", "")
if wp_base64:
try:
import base64
decoded = base64.b64decode(wp_base64).decode('utf-8')
st.code(f"Base64: {wp_base64}\nDecoded: {decoded}")
except Exception as e:
st.error(f"Fehler beim Dekodieren: {e}")
else:
st.info("Kein Base64-String konfiguriert")
# Bulk Upload # Bulk Upload
st.subheader("📦 Massenupload") st.subheader("📦 Massenupload")
@ -1062,15 +1063,16 @@ with tab6:
with st.expander("📋 .env-Datei Vorlage", expanded=False): with st.expander("📋 .env-Datei Vorlage", expanded=False):
st.code(""" st.code("""
# WordPress-Konfiguration # WordPress-Konfiguration
WP_BASE_URL=https://vanityontour.de WP_BASE_URL=https://your-site.tld
WP_USERNAME=ogiertz
WP_PASSWORD=whNEx9aZCIUXViV89Z3e7Z03
# WordPress Base64-Authentifizierung (bevorzugte Methode) # Entweder Base64 (empfohlen) ODER Benutzername/Passwort (Application Password)
WP_AUTH_BASE64=b2dpZXJ0ejp3aE5FeDlhWkNJVVhWaVY4OVozZTdaMDM= WP_AUTH_BASE64=
# Oder alternativ:
WP_USERNAME=
WP_PASSWORD=
# OpenAI-Konfiguration (für Artikel-Umschreibung) # OpenAI-Konfiguration (optional für Umschreibung)
OPENAI_API_KEY=sk-... OPENAI_API_KEY=
""", language="bash") """, language="bash")
with st.expander("🔑 Base64-Authentifizierung verstehen", expanded=False): with st.expander("🔑 Base64-Authentifizierung verstehen", expanded=False):
@ -1078,21 +1080,10 @@ OPENAI_API_KEY=sk-...
<div class="article-card"> <div class="article-card">
<h3 class="article-title">WordPress REST API Authentifizierung:</h3> <h3 class="article-title">WordPress REST API Authentifizierung:</h3>
<div class="article-summary"> <div class="article-summary">
Die WordPress REST API erfordert eine Base64-kodierte Authentifizierung im Format:<br> Die WordPress REST API nutzt <code>Basic</code>-Auth mit Base64-kodierten Zugangsdaten:<br>
<code>Authorization: Basic &lt;base64_encoded_credentials&gt;</code> <code>Authorization: Basic &lt;base64(username:password)&gt;</code><br><br>
<br><br> Empfehlung: In der .env <code>WP_AUTH_BASE64</code> setzen (aus <code>username:application_password</code> erzeugt).<br>
<strong>Ihr bereitgestellter Base64-String:</strong><br> Alternativ können <code>WP_USERNAME</code> und <code>WP_PASSWORD</code> gesetzt werden; dann wird Base64 zur Laufzeit generiert.
<code>b2dpZXJ0ejp3aE5FeDlhWkNJVVhWaVY4OVozZTdaMDM=</code><br>
Dekodiert: <code>ogiertz:whNEx9aZCIUXViV89Z3e7Z03</code>
<br><br>
<strong>So funktioniert es:</strong><br>
1. Benutzername und Anwendungspasswort werden kombiniert: <code>username:password</code><br>
2. Dieser String wird Base64-kodiert<br>
3. Im Authorization-Header verwendet: <code>Basic &lt;base64_string&gt;</code>
<br><br>
<strong>Fallback-Verhalten:</strong><br>
Wenn <code>WP_AUTH_BASE64</code> gesetzt ist Direkter Base64-String verwendet<br>
Wenn nicht gesetzt Base64 wird aus <code>WP_USERNAME:WP_PASSWORD</code> generiert
</div> </div>
</div> </div>
""", unsafe_allow_html=True) """, unsafe_allow_html=True)
@ -1115,4 +1106,4 @@ OPENAI_API_KEY=sk-...
4. Generiertes Passwort in .env-Datei eintragen 4. Generiertes Passwort in .env-Datei eintragen
</div> </div>
</div> </div>
""", unsafe_allow_html=True) """, unsafe_allow_html=True)

File diff suppressed because one or more lines are too long

View file

@ -5966,3 +5966,752 @@ die Großen
2025-08-24 14:55:59,345 - INFO - save_articles:144 - ✅ 185 Artikel gespeichert 2025-08-24 14:55:59,345 - INFO - save_articles:144 - ✅ 185 Artikel gespeichert
2025-08-24 14:55:59,381 - INFO - load_articles:124 - ✅ 185 Artikel geladen 2025-08-24 14:55:59,381 - INFO - load_articles:124 - ✅ 185 Artikel geladen
2025-08-24 14:55:59,381 - INFO - load_feeds:93 - ✅ 10 Feeds geladen 2025-08-24 14:55:59,381 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-24 15:00:44,577 - INFO - load_articles:124 - ✅ 185 Artikel geladen
2025-08-24 15:00:44,579 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-24 15:01:32,927 - INFO - load_articles:124 - ✅ 185 Artikel geladen
2025-08-24 15:01:32,928 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-24 15:01:32,952 - INFO - save_articles:144 - ✅ 185 Artikel gespeichert
2025-08-24 15:01:33,531 - INFO - load_articles:124 - ✅ 185 Artikel geladen
2025-08-24 15:01:33,531 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-24 15:01:43,611 - INFO - load_articles:124 - ✅ 185 Artikel geladen
2025-08-24 15:01:43,612 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-24 15:01:49,714 - INFO - load_articles:124 - ✅ 185 Artikel geladen
2025-08-24 15:01:49,715 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-24 15:01:59,256 - INFO - load_articles:124 - ✅ 185 Artikel geladen
2025-08-24 15:01:59,257 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-24 15:02:05,664 - INFO - load_articles:124 - ✅ 185 Artikel geladen
2025-08-24 15:02:05,664 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:27:55,892 - INFO - load_articles:124 - ✅ 185 Artikel geladen
2025-08-28 10:27:55,894 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:29:25,237 - INFO - load_articles:124 - ✅ 185 Artikel geladen
2025-08-28 10:29:25,238 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:29:32,381 - INFO - load_articles:124 - ✅ 185 Artikel geladen
2025-08-28 10:29:32,381 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:29:32,387 - INFO - process_articles:268 - 🚀 Starte Artikel-Verarbeitung
2025-08-28 10:29:32,388 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:29:32,393 - INFO - load_articles:124 - ✅ 185 Artikel geladen
2025-08-28 10:29:32,394 - INFO - fetch_and_process_feed:174 - 🔄 Verarbeite Feed: https://www.camping-news.de/rss/
2025-08-28 10:29:32,726 - INFO - fetch_and_process_feed:181 - 📡 Feed-Name: Camping-News
2025-08-28 10:29:32,726 - INFO - fetch_and_process_feed:187 - 📰 10 Einträge gefunden
2025-08-28 10:29:32,729 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.camping-in-deutschland.de/index.php?pid=meldung&id=5939
2025-08-28 10:29:33,322 - INFO - extract_images_with_metadata:167 - 🔍 14 img-Tags gefunden
2025-08-28 10:29:33,323 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: Bild aus Originalartikel...
2025-08-28 10:29:33,323 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) snw/jb...
2025-08-28 10:29:33,323 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: Bild aus Originalartikel...
2025-08-28 10:29:33,323 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) snw/jb...
2025-08-28 10:29:33,323 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) Bürstner GmbH & Co. KG...
2025-08-28 10:29:33,323 - ERROR - extract_images_with_metadata:200 - ❌ Unerwarteter Fehler bei Bildextraktion von https://www.camping-in-deutschland.de/index.php?pid=meldung&id=5939: unsupported operand type(s) for *: 'NoneType' and 'NoneType'
2025-08-28 10:29:33,323 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'VWN feiert 20 Jahre California
Beach und zeigt Sondermodell' extrahiert
2025-08-28 10:29:33,323 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: VWN feiert 20 Jahre California
Beach und zeigt Sondermodell
2025-08-28 10:29:33,324 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.camping-in-deutschland.de/index.php?pid=meldung&id=5937
2025-08-28 10:29:33,608 - INFO - extract_images_with_metadata:167 - 🔍 13 img-Tags gefunden
2025-08-28 10:29:33,608 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) Messe Essen GmbH...
2025-08-28 10:29:33,608 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: Bild aus Originalartikel...
2025-08-28 10:29:33,608 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) Caravaning-Boom bietet enormes Potenzial, bede...
2025-08-28 10:29:33,609 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) snw...
2025-08-28 10:29:33,609 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) Volkswagen Nutzfahrzeuge...
2025-08-28 10:29:33,609 - ERROR - extract_images_with_metadata:200 - ❌ Unerwarteter Fehler bei Bildextraktion von https://www.camping-in-deutschland.de/index.php?pid=meldung&id=5937: unsupported operand type(s) for *: 'NoneType' and 'NoneType'
2025-08-28 10:29:33,609 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Bliessteig im Saarland ist Deutschlands schönster Wanderweg' extrahiert
2025-08-28 10:29:33,609 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Bliessteig im Saarland ist Deutschlands schönster Wanderweg
2025-08-28 10:29:33,611 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.camping-in-deutschland.de/index.php?pid=meldung&id=5938
2025-08-28 10:29:33,891 - INFO - extract_images_with_metadata:167 - 🔍 14 img-Tags gefunden
2025-08-28 10:29:33,891 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: Bild aus Originalartikel...
2025-08-28 10:29:33,892 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) Volkswagen Nutzfahrzeuge...
2025-08-28 10:29:33,892 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: Bild aus Originalartikel...
2025-08-28 10:29:33,892 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) snw/jb...
2025-08-28 10:29:33,892 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) Bürstner GmbH & Co. KG...
2025-08-28 10:29:33,892 - ERROR - extract_images_with_metadata:200 - ❌ Unerwarteter Fehler bei Bildextraktion von https://www.camping-in-deutschland.de/index.php?pid=meldung&id=5938: unsupported operand type(s) for *: 'NoneType' and 'NoneType'
2025-08-28 10:29:33,892 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Hotspot der mobilen Freiheit' extrahiert
2025-08-28 10:29:33,892 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Hotspot der mobilen Freiheit
2025-08-28 10:29:33,893 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.camping-in-deutschland.de/index.php?pid=meldung&id=5936
2025-08-28 10:29:34,147 - INFO - extract_images_with_metadata:167 - 🔍 13 img-Tags gefunden
2025-08-28 10:29:34,147 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) Messe Essen GmbH...
2025-08-28 10:29:34,147 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: Bild aus Originalartikel...
2025-08-28 10:29:34,148 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) Caravaning-Boom bietet enormes Potenzial, bede...
2025-08-28 10:29:34,148 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) snw...
2025-08-28 10:29:34,148 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) Volkswagen Nutzfahrzeuge...
2025-08-28 10:29:34,148 - ERROR - extract_images_with_metadata:200 - ❌ Unerwarteter Fehler bei Bildextraktion von https://www.camping-in-deutschland.de/index.php?pid=meldung&id=5936: unsupported operand type(s) for *: 'NoneType' and 'NoneType'
2025-08-28 10:29:34,148 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Aktuelle Trends auf dem CARAVAN SALON 2025' extrahiert
2025-08-28 10:29:34,148 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Aktuelle Trends auf dem CARAVAN SALON 2025
2025-08-28 10:29:34,155 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.camping-in-deutschland.de/index.php?pid=meldung&id=5935
2025-08-28 10:29:34,485 - INFO - extract_images_with_metadata:167 - 🔍 14 img-Tags gefunden
2025-08-28 10:29:34,485 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: Bild aus Originalartikel...
2025-08-28 10:29:34,485 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) Volkswagen Nutzfahrzeuge...
2025-08-28 10:29:34,485 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: Bild aus Originalartikel...
2025-08-28 10:29:34,485 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) snw/jb...
2025-08-28 10:29:34,485 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) Bürstner GmbH & Co. KG...
2025-08-28 10:29:34,485 - ERROR - extract_images_with_metadata:200 - ❌ Unerwarteter Fehler bei Bildextraktion von https://www.camping-in-deutschland.de/index.php?pid=meldung&id=5935: unsupported operand type(s) for *: 'NoneType' and 'NoneType'
2025-08-28 10:29:34,485 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Neue Baureihen und Sondermodelle machen Caravaning noch attraktiver' extrahiert
2025-08-28 10:29:34,485 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Neue Baureihen und Sondermodelle machen Caravaning noch attraktiver
2025-08-28 10:29:34,487 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.camping-in-deutschland.de/index.php?pid=meldung&id=5934
2025-08-28 10:29:34,737 - INFO - extract_images_with_metadata:167 - 🔍 14 img-Tags gefunden
2025-08-28 10:29:34,738 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: Bild aus Originalartikel...
2025-08-28 10:29:34,738 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) Volkswagen Nutzfahrzeuge...
2025-08-28 10:29:34,738 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: Bild aus Originalartikel...
2025-08-28 10:29:34,738 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) snw/jb...
2025-08-28 10:29:34,738 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) snw/jb...
2025-08-28 10:29:34,738 - ERROR - extract_images_with_metadata:200 - ❌ Unerwarteter Fehler bei Bildextraktion von https://www.camping-in-deutschland.de/index.php?pid=meldung&id=5934: unsupported operand type(s) for *: 'NoneType' and 'NoneType'
2025-08-28 10:29:34,738 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Mercedes trifft Innovation - der variable
Campervan unter 6 Metern' extrahiert
2025-08-28 10:29:34,738 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Mercedes trifft Innovation - der variable
Campervan unter 6 Metern
2025-08-28 10:29:34,739 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.camping-in-deutschland.de/index.php?pid=meldung&id=5933
2025-08-28 10:29:35,025 - INFO - extract_images_with_metadata:167 - 🔍 21 img-Tags gefunden
2025-08-28 10:29:35,025 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: Bild aus Originalartikel...
2025-08-28 10:29:35,025 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: Bild aus Originalartikel...
2025-08-28 10:29:35,026 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) PremiumCamps...
2025-08-28 10:29:35,026 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: Bild aus Originalartikel...
2025-08-28 10:29:35,026 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) Camping Kirchzarten...
2025-08-28 10:29:35,026 - ERROR - extract_images_with_metadata:200 - ❌ Unerwarteter Fehler bei Bildextraktion von https://www.camping-in-deutschland.de/index.php?pid=meldung&id=5933: unsupported operand type(s) for *: 'NoneType' and 'NoneType'
2025-08-28 10:29:35,026 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Die neue Wellness Oim am Camping Resort Allweglehen' extrahiert
2025-08-28 10:29:35,026 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Die neue Wellness Oim am Camping Resort Allweglehen
2025-08-28 10:29:35,027 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.camping-in-deutschland.de/index.php?pid=meldung&id=5932
2025-08-28 10:29:35,310 - INFO - extract_images_with_metadata:167 - 🔍 14 img-Tags gefunden
2025-08-28 10:29:35,310 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: Bild aus Originalartikel...
2025-08-28 10:29:35,310 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) Volkswagen Nutzfahrzeuge...
2025-08-28 10:29:35,310 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: Bild aus Originalartikel...
2025-08-28 10:29:35,310 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) snw/jb...
2025-08-28 10:29:35,310 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) snw/jb...
2025-08-28 10:29:35,310 - ERROR - extract_images_with_metadata:200 - ❌ Unerwarteter Fehler bei Bildextraktion von https://www.camping-in-deutschland.de/index.php?pid=meldung&id=5932: unsupported operand type(s) for *: 'NoneType' and 'NoneType'
2025-08-28 10:29:35,310 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Premiere des Modelljahrs 2026 auf diesjährigem Caravan-Salon' extrahiert
2025-08-28 10:29:35,310 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Premiere des Modelljahrs 2026 auf diesjährigem Caravan-Salon
2025-08-28 10:29:35,311 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.camping-in-deutschland.de/index.php?pid=meldung&id=5931
2025-08-28 10:29:35,605 - INFO - extract_images_with_metadata:167 - 🔍 14 img-Tags gefunden
2025-08-28 10:29:35,605 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: Bild aus Originalartikel...
2025-08-28 10:29:35,605 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) Volkswagen Nutzfahrzeuge...
2025-08-28 10:29:35,606 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: Bild aus Originalartikel...
2025-08-28 10:29:35,606 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) snw/jb...
2025-08-28 10:29:35,606 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) snw/jb...
2025-08-28 10:29:35,606 - ERROR - extract_images_with_metadata:200 - ❌ Unerwarteter Fehler bei Bildextraktion von https://www.camping-in-deutschland.de/index.php?pid=meldung&id=5931: unsupported operand type(s) for *: 'NoneType' and 'NoneType'
2025-08-28 10:29:35,606 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Erfolgsmodell TRAIL 280S mit überarbeitetem Grundriss' extrahiert
2025-08-28 10:29:35,606 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Erfolgsmodell TRAIL 280S mit überarbeitetem Grundriss
2025-08-28 10:29:35,607 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.camping-in-deutschland.de/index.php?pid=meldung&id=5930
2025-08-28 10:29:35,828 - INFO - extract_images_with_metadata:167 - 🔍 14 img-Tags gefunden
2025-08-28 10:29:35,829 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: Bild aus Originalartikel...
2025-08-28 10:29:35,829 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) Volkswagen Nutzfahrzeuge...
2025-08-28 10:29:35,829 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: Bild aus Originalartikel...
2025-08-28 10:29:35,829 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) snw/jb...
2025-08-28 10:29:35,829 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: (c) snw/jb...
2025-08-28 10:29:35,829 - ERROR - extract_images_with_metadata:200 - ❌ Unerwarteter Fehler bei Bildextraktion von https://www.camping-in-deutschland.de/index.php?pid=meldung&id=5930: unsupported operand type(s) for *: 'NoneType' and 'NoneType'
2025-08-28 10:29:35,829 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Aufblasbares Vorzelt für Wohnwagen-Camper' extrahiert
2025-08-28 10:29:35,829 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Aufblasbares Vorzelt für Wohnwagen-Camper
2025-08-28 10:29:35,829 - INFO - fetch_and_process_feed:257 - ✅ Feed verarbeitet: 10 neue Artikel aus https://www.camping-news.de/rss/
2025-08-28 10:29:36,834 - INFO - fetch_and_process_feed:174 - 🔄 Verarbeite Feed: https://www.promobil.de/rss/news
2025-08-28 10:29:37,132 - INFO - fetch_and_process_feed:181 - 📡 Feed-Name: News bei www.promobil.de
2025-08-28 10:29:37,132 - INFO - fetch_and_process_feed:187 - 📰 20 Einträge gefunden
2025-08-28 10:29:37,133 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Vanlife-Events im Juni bis November 2025: Events für Bulli-Lover und Campervan-Fans
2025-08-28 10:29:37,133 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.promobil.de/termine-veranstaltungen-juni-juli/ (Versuch 1)
2025-08-28 10:29:37,310 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:37,312 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:37,313 - INFO - extract_full_article:257 - 🎉 Erfolgreiche Extraktion (generisch): 649 Wörter
2025-08-28 10:29:37,313 - INFO - fetch_and_process_feed:215 - ✅ Volltext extrahiert: 649 Wörter
2025-08-28 10:29:37,314 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Vanlife-Events im Juni bis November 2025: Events für Bulli-Lover und Campervan-Fans
2025-08-28 10:29:37,314 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Schutz vor Einbruch und Diebstahl fürs Wohnmobil: Wie schütze ich mein Wohnmobil vor Diebstahl?
2025-08-28 10:29:37,314 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.promobil.de/sicherheitszubehoer-wohnmobil-schutz-einbruch-diebstahl-gase/ (Versuch 1)
2025-08-28 10:29:37,502 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:37,504 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:37,505 - INFO - extract_full_article:257 - 🎉 Erfolgreiche Extraktion (generisch): 1134 Wörter
2025-08-28 10:29:37,505 - INFO - fetch_and_process_feed:215 - ✅ Volltext extrahiert: 1134 Wörter
2025-08-28 10:29:37,506 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Schutz vor Einbruch und Diebstahl fürs Wohnmobil: Wie schütze ich mein Wohnmobil vor Diebstahl?
2025-08-28 10:29:37,506 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Hymer kündigt neue Wohnmobil-Marke Corigon an: Hymer bringt neue Günstig-Marke für Camper
2025-08-28 10:29:37,506 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.promobil.de/corigon-neue-hymer-marke-sommer-2025/ (Versuch 1)
2025-08-28 10:29:37,729 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:37,730 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:37,731 - INFO - extract_full_article:257 - 🎉 Erfolgreiche Extraktion (generisch): 874 Wörter
2025-08-28 10:29:37,732 - INFO - fetch_and_process_feed:215 - ✅ Volltext extrahiert: 874 Wörter
2025-08-28 10:29:37,732 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Hymer kündigt neue Wohnmobil-Marke Corigon an: Hymer bringt neue Günstig-Marke für Camper
2025-08-28 10:29:37,732 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Die besten Camper-Innovationen 2025: „Frosch“ ist das genialste neue Camping-Zubehör
2025-08-28 10:29:37,732 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.promobil.de/sieger-frosch-campfire-der-ideen-2025/ (Versuch 1)
2025-08-28 10:29:37,910 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:37,911 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:37,912 - INFO - extract_full_article:257 - 🎉 Erfolgreiche Extraktion (generisch): 452 Wörter
2025-08-28 10:29:37,912 - INFO - fetch_and_process_feed:215 - ✅ Volltext extrahiert: 452 Wörter
2025-08-28 10:29:37,912 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Die besten Camper-Innovationen 2025: „Frosch“ ist das genialste neue Camping-Zubehör
2025-08-28 10:29:37,913 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Leserstimmen zum Update der 9-Gang-Automatik: Was bringt das Softwareupdate für den Ducato 8?
2025-08-28 10:29:37,913 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.promobil.de/fiat-ducato-9-gang-automatik-softwareupdate/ (Versuch 1)
2025-08-28 10:29:38,095 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:38,096 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:38,099 - INFO - extract_full_article:257 - 🎉 Erfolgreiche Extraktion (generisch): 1546 Wörter
2025-08-28 10:29:38,100 - INFO - fetch_and_process_feed:215 - ✅ Volltext extrahiert: 1546 Wörter
2025-08-28 10:29:38,100 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Leserstimmen zum Update der 9-Gang-Automatik: Was bringt das Softwareupdate für den Ducato 8?
2025-08-28 10:29:38,100 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: CARAVANING Jahrgangs Archiv 2024: CARAVANING fürs Archiv
2025-08-28 10:29:38,101 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.promobil.de/caravaning-jahrgangs-archiv-als-pdf-download/ (Versuch 1)
2025-08-28 10:29:38,231 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:38,231 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:38,231 - INFO - extract_full_article:257 - 🎉 Erfolgreiche Extraktion (generisch): 136 Wörter
2025-08-28 10:29:38,232 - INFO - fetch_and_process_feed:215 - ✅ Volltext extrahiert: 136 Wörter
2025-08-28 10:29:38,232 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: CARAVANING Jahrgangs Archiv 2024: CARAVANING fürs Archiv
2025-08-28 10:29:38,232 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Top 10 Clever-Campen-Videos 2024: Die beliebtesten Camping-Videos
2025-08-28 10:29:38,232 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.promobil.de/top-10-clever-campen-videos-2024/ (Versuch 1)
2025-08-28 10:29:38,414 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:38,415 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:38,415 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:29:38,415 - INFO - extract_from_paragraphs:194 - ✅ Fallback-Extraktion aus 18 Paragraphen
2025-08-28 10:29:38,415 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:29:38,417 - INFO - extract_full_article:281 - ⚠️ Body-Extraktion: 0 Wörter
2025-08-28 10:29:38,418 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Top 10 Clever-Campen-Videos 2024: Die beliebtesten Camping-Videos
2025-08-28 10:29:38,418 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Retro-Campingfahrzeuge aus den Nuller-Jahren: Das waren die heißesten Wohnmobile 2004
2025-08-28 10:29:38,418 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.promobil.de/retro-wohnmobile-2004-nuller-jahre-rueckblick-promobil/ (Versuch 1)
2025-08-28 10:29:38,582 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:38,583 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:38,584 - INFO - extract_full_article:257 - 🎉 Erfolgreiche Extraktion (generisch): 1870 Wörter
2025-08-28 10:29:38,585 - INFO - fetch_and_process_feed:215 - ✅ Volltext extrahiert: 1870 Wörter
2025-08-28 10:29:38,585 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Retro-Campingfahrzeuge aus den Nuller-Jahren: Das waren die heißesten Wohnmobile 2004
2025-08-28 10:29:38,585 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Gaswarner im Wohnmobil: So schütze Sie sich vor unsichtbaren Gasen
2025-08-28 10:29:38,585 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.promobil.de/gaswarner-wohnmobil-schutz-gas/ (Versuch 1)
2025-08-28 10:29:38,793 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:38,795 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:38,797 - INFO - extract_full_article:257 - 🎉 Erfolgreiche Extraktion (generisch): 1796 Wörter
2025-08-28 10:29:38,797 - INFO - fetch_and_process_feed:215 - ✅ Volltext extrahiert: 1796 Wörter
2025-08-28 10:29:38,798 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Gaswarner im Wohnmobil: So schütze Sie sich vor unsichtbaren Gasen
2025-08-28 10:29:38,798 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Preisschock bei Wohnmobilversicherungen: Versicherung gestiegen? Das können Sie tun!
2025-08-28 10:29:38,798 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.promobil.de/versicherungen-werden-2025-teuerer-tipps-und-tricks-um-die-kosten-zu-senken/ (Versuch 1)
2025-08-28 10:29:38,971 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:38,973 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:38,974 - INFO - extract_full_article:257 - 🎉 Erfolgreiche Extraktion (generisch): 942 Wörter
2025-08-28 10:29:38,975 - INFO - fetch_and_process_feed:215 - ✅ Volltext extrahiert: 942 Wörter
2025-08-28 10:29:38,975 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Preisschock bei Wohnmobilversicherungen: Versicherung gestiegen? Das können Sie tun!
2025-08-28 10:29:38,975 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Dailycamper Trekking (2025): Neuer Mini-Camper auf Fiat Doblo
2025-08-28 10:29:38,975 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.promobil.de/dailycamper-trekking-mini-camper-fiat-doblo/ (Versuch 1)
2025-08-28 10:29:39,152 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:39,153 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:39,154 - INFO - extract_full_article:257 - 🎉 Erfolgreiche Extraktion (generisch): 416 Wörter
2025-08-28 10:29:39,154 - INFO - fetch_and_process_feed:215 - ✅ Volltext extrahiert: 416 Wörter
2025-08-28 10:29:39,154 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Dailycamper Trekking (2025): Neuer Mini-Camper auf Fiat Doblo
2025-08-28 10:29:39,155 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Campingbus Rocket Camper Ryzon beim Weltrekord: Jonas Deichmanns Camper für Ironman-Rekord
2025-08-28 10:29:39,155 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: E-Trailer für die Campingfahrzeug-Steuerung per App: So werden Wohnwagen & Camper zum Smarthome
2025-08-28 10:29:39,155 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.promobil.de/e-trailer-system-kontrollboard-wohnwagen-camper/ (Versuch 1)
2025-08-28 10:29:39,330 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:39,331 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:39,331 - INFO - extract_full_article:257 - 🎉 Erfolgreiche Extraktion (generisch): 499 Wörter
2025-08-28 10:29:39,332 - INFO - fetch_and_process_feed:215 - ✅ Volltext extrahiert: 499 Wörter
2025-08-28 10:29:39,332 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: E-Trailer für die Campingfahrzeug-Steuerung per App: So werden Wohnwagen & Camper zum Smarthome
2025-08-28 10:29:39,332 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Im Wohnmobil zum 2024-EM-Spielort Leipzig: Nach Leipzig in die Red Bull Arena zur Fußball-EM
2025-08-28 10:29:39,332 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.promobil.de/spielorte-em-2024-red-bull-arena-leipzig/ (Versuch 1)
2025-08-28 10:29:39,547 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:39,549 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:39,550 - INFO - extract_full_article:257 - 🎉 Erfolgreiche Extraktion (generisch): 894 Wörter
2025-08-28 10:29:39,551 - INFO - fetch_and_process_feed:215 - ✅ Volltext extrahiert: 894 Wörter
2025-08-28 10:29:39,551 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Im Wohnmobil zum 2024-EM-Spielort Leipzig: Nach Leipzig in die Red Bull Arena zur Fußball-EM
2025-08-28 10:29:39,551 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Can-Kasim Dogan von Westfalen Mobil im Interview : Wie sieht der Westfalia-CEO die Camping-Zukunft?
2025-08-28 10:29:39,551 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.promobil.de/can-kasim-dogan-interview-westfalia/ (Versuch 1)
2025-08-28 10:29:39,747 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:39,748 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:39,749 - INFO - extract_full_article:257 - 🎉 Erfolgreiche Extraktion (generisch): 599 Wörter
2025-08-28 10:29:39,749 - INFO - fetch_and_process_feed:215 - ✅ Volltext extrahiert: 599 Wörter
2025-08-28 10:29:39,750 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Can-Kasim Dogan von Westfalen Mobil im Interview : Wie sieht der Westfalia-CEO die Camping-Zukunft?
2025-08-28 10:29:39,750 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Top-Fortbewegungsmittel für Wohnmobil-Reisende: Wie bleiben Sie im Campingurlaub mobil?
2025-08-28 10:29:39,750 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.promobil.de/promobil-leser-meinung-mobilitaet-fortbewegungsmittel-fahrrad/ (Versuch 1)
2025-08-28 10:29:39,934 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:39,935 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:39,936 - INFO - extract_full_article:257 - 🎉 Erfolgreiche Extraktion (generisch): 639 Wörter
2025-08-28 10:29:39,937 - INFO - fetch_and_process_feed:215 - ✅ Volltext extrahiert: 639 Wörter
2025-08-28 10:29:39,937 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Top-Fortbewegungsmittel für Wohnmobil-Reisende: Wie bleiben Sie im Campingurlaub mobil?
2025-08-28 10:29:39,938 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Camping-Tipps für EM-Spielorte 2024 : Frankfurt für Fußball-Fans im Wohnmobil
2025-08-28 10:29:39,938 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.promobil.de/spielorte-em-2024-frankfurt/ (Versuch 1)
2025-08-28 10:29:40,119 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:40,121 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:40,122 - INFO - extract_full_article:257 - 🎉 Erfolgreiche Extraktion (generisch): 691 Wörter
2025-08-28 10:29:40,122 - INFO - fetch_and_process_feed:215 - ✅ Volltext extrahiert: 691 Wörter
2025-08-28 10:29:40,122 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Camping-Tipps für EM-Spielorte 2024 : Frankfurt für Fußball-Fans im Wohnmobil
2025-08-28 10:29:40,123 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Spielorte und Stellplätze zur Fußball-EM 2024 : Mit dem Wohnmobil zur Euro 2024 in Stuttgart
2025-08-28 10:29:40,123 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.promobil.de/stuttgart-em-2024-fussball-stellplaetze-wohnmobil-camping/ (Versuch 1)
2025-08-28 10:29:40,310 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:40,311 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:40,311 - INFO - extract_full_article:257 - 🎉 Erfolgreiche Extraktion (generisch): 923 Wörter
2025-08-28 10:29:40,312 - INFO - fetch_and_process_feed:215 - ✅ Volltext extrahiert: 923 Wörter
2025-08-28 10:29:40,312 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Spielorte und Stellplätze zur Fußball-EM 2024 : Mit dem Wohnmobil zur Euro 2024 in Stuttgart
2025-08-28 10:29:40,312 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Camper-Radio Caravan.fm : Radiosender speziell für Camping-Fans
2025-08-28 10:29:40,312 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.promobil.de/camper-radio-radiosender-caravan-fm/ (Versuch 1)
2025-08-28 10:29:40,492 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:40,492 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:40,493 - INFO - extract_full_article:257 - 🎉 Erfolgreiche Extraktion (generisch): 258 Wörter
2025-08-28 10:29:40,493 - INFO - fetch_and_process_feed:215 - ✅ Volltext extrahiert: 258 Wörter
2025-08-28 10:29:40,493 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Camper-Radio Caravan.fm : Radiosender speziell für Camping-Fans
2025-08-28 10:29:40,493 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Professor für Tourismus-Management im Interview: Armin Brysch spricht über virtuelle Reisen
2025-08-28 10:29:40,493 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.promobil.de/tourismus-management-armin-brysch-interview-virtuelle-reisen/ (Versuch 1)
2025-08-28 10:29:40,643 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:40,643 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:40,644 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:29:40,644 - INFO - extract_from_paragraphs:194 - ✅ Fallback-Extraktion aus 8 Paragraphen
2025-08-28 10:29:40,644 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:29:40,645 - INFO - extract_full_article:281 - ⚠️ Body-Extraktion: 0 Wörter
2025-08-28 10:29:40,645 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Professor für Tourismus-Management im Interview: Armin Brysch spricht über virtuelle Reisen
2025-08-28 10:29:40,645 - INFO - fetch_and_process_feed:257 - ✅ Feed verarbeitet: 0 neue Artikel aus https://www.promobil.de/rss/news
2025-08-28 10:29:41,651 - INFO - fetch_and_process_feed:174 - 🔄 Verarbeite Feed: https://www.promobil.de/rss/ratgeber
2025-08-28 10:29:41,993 - INFO - fetch_and_process_feed:181 - 📡 Feed-Name: ratgeber bei www.promobil.de
2025-08-28 10:29:41,994 - INFO - fetch_and_process_feed:187 - 📰 20 Einträge gefunden
2025-08-28 10:29:41,996 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.promobil.de/weitere-ratgeber/sommerferien-endspurt-wohin-mit-dem-wohnmobil/
2025-08-28 10:29:42,154 - INFO - extract_images_with_metadata:167 - 🔍 13 img-Tags gefunden
2025-08-28 10:29:42,154 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: Symbolbild, Wetter, Sonne, Regen...
2025-08-28 10:29:42,154 - INFO - extract_images_with_metadata:180 - ✅ Bild hinzugefügt: Bild aus Originalartikel...
2025-08-28 10:29:42,155 - ERROR - extract_images_with_metadata:200 - ❌ Unerwarteter Fehler bei Bildextraktion von https://www.promobil.de/weitere-ratgeber/sommerferien-endspurt-wohin-mit-dem-wohnmobil/: unsupported operand type(s) for *: 'NoneType' and 'NoneType'
2025-08-28 10:29:42,155 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Reisetipps für die letzten Ferienwochen: Dem schlechten Wetter davon fahren' extrahiert
2025-08-28 10:29:42,155 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Reisetipps für die letzten Ferienwochen: Dem schlechten Wetter davon fahren
2025-08-28 10:29:42,157 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: 5 Buchtipps für Campingfans: Spannende und lustige Bücher rund ums Camping
2025-08-28 10:29:42,160 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Campingplätze, Stellplätze und mehr finden : „Stellplatz-Radar“-App bekommt neue Funktionen
2025-08-28 10:29:42,161 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Fahrzeugtechnik am Wohnmobil im Detail: Windschutzscheiben sind längst mehr als Glas
2025-08-28 10:29:42,163 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Betrug im Wohnmobilhandel: Haftstrafen für Chefs von FlexiCamper
2025-08-28 10:29:42,164 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Umfrage zum perfekten Campingtag: Wo verbringen Sie den perfekten Campingurlaub?
2025-08-28 10:29:42,165 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Tauschautomat für Gasflaschen im Praxischeck: Wie funktioniert der 24/7-Service für Camper
2025-08-28 10:29:42,166 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Italien verschärft Regeln zur Müllentsorgung: Bis zu 18.000 Euro Strafe für Müll vor dem Camper
2025-08-28 10:29:42,166 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Regeln auf Frankreichs Autobahnen im Pannenfall: Kein Schutz durch ADAC & Co. auf Autobahnen
2025-08-28 10:29:42,167 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Fahrradtransport in Italien: Warntafel bei Fahrradträgern doch wieder Pflicht?
2025-08-28 10:29:42,169 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Neue Mautregeln für Wohnmobile mit 3,5 t: Diese Camper brauchen ab dem Stichtag eine GO-Box
2025-08-28 10:29:42,170 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Film-Stunt mit Caravan wie realistisch ist das?: Sexsymbol Jensen Ackles wagt Stunt auf Wohnwagen
2025-08-28 10:29:42,171 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: CLEVER CAMPEN Podcast Folge 40: Gravelbikes und Camping die beste Kombi?
2025-08-28 10:29:42,172 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Stellplatz-Radar Sommeraktion 2025: 30 Tage Stellplatz-Radar PLUS gratis testen
2025-08-28 10:29:42,173 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Digitaler Fahrzeugschein für Camper: promobil testet den digitalen Fahrzeugschein
2025-08-28 10:29:42,174 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Badezimmer beim Camping - Umfrage: Welches Bad brauchen Sie im Wohnmobil?
2025-08-28 10:29:42,175 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Umfrage zum Kaffeegenuss beim Camping: So kochen Sie am liebsten Ihren Kaffee
2025-08-28 10:29:42,176 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Zwei Menschen, zwei Meinungen: Das Mietbad spaltet die Campingwelt
2025-08-28 10:29:42,177 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Zubehör auf der größten Campingmesse kaufen: Deshalb müssen Zubehör-Shopper zum Caravan Salon
2025-08-28 10:29:42,178 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Tipps für die größte Camping-Messe Deutschlands: Darum dürfen Sie den Caravan Salon nicht verpassen
2025-08-28 10:29:42,178 - INFO - fetch_and_process_feed:257 - ✅ Feed verarbeitet: 1 neue Artikel aus https://www.promobil.de/rss/ratgeber
2025-08-28 10:29:43,183 - INFO - fetch_and_process_feed:174 - 🔄 Verarbeite Feed: https://www.presseportal.de/rss/rss2_vts.htx?q=camping&langid=1
2025-08-28 10:29:43,436 - INFO - fetch_and_process_feed:181 - 📡 Feed-Name: Presseportal.de - Ergebnis der Suchanfrage nach camping
2025-08-28 10:29:43,437 - INFO - fetch_and_process_feed:187 - 📰 10 Einträge gefunden
2025-08-28 10:29:43,440 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.presseportal.de/pm/43258/6104183
2025-08-28 10:29:43,726 - INFO - extract_images_with_metadata:167 - 🔍 9 img-Tags gefunden
2025-08-28 10:29:43,727 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.presseportal.de/pm/43258/6104183
2025-08-28 10:29:43,727 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Camping-Boom: Wohnmobil im Urlaub richtig absichern / Wie Sie im Urlaub typische Versicherungsfallen vermeiden' extrahiert
2025-08-28 10:29:43,727 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Camping-Boom: Wohnmobil im Urlaub richtig absichern / Wie Sie im Urlaub typische Versicherungsfallen vermeiden
2025-08-28 10:29:43,730 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.presseportal.de/pm/64471/6104130
2025-08-28 10:29:43,998 - INFO - extract_images_with_metadata:167 - 🔍 7 img-Tags gefunden
2025-08-28 10:29:43,999 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.presseportal.de/pm/64471/6104130
2025-08-28 10:29:43,999 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für '"Deutschlands Beste Online-Shops 2025" / Renommierter E-Commerce-Award - Votum aus rund 70.000 Kundenmeinungen - Feierliche Preisverleihung' extrahiert
2025-08-28 10:29:43,999 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: "Deutschlands Beste Online-Shops 2025" / Renommierter E-Commerce-Award - Votum aus rund 70.000 Kundenmeinungen - Feierliche Preisverleihung
2025-08-28 10:29:44,001 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.presseportal.de/pm/6605/6103157
2025-08-28 10:29:44,267 - INFO - extract_images_with_metadata:167 - 🔍 11 img-Tags gefunden
2025-08-28 10:29:44,268 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.presseportal.de/pm/6605/6103157
2025-08-28 10:29:44,268 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Neue Folge "Bella Italia - Camping auf Deutsch": Liebe, Abenteuer und große Überraschungen in den USA' extrahiert
2025-08-28 10:29:44,268 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Neue Folge "Bella Italia - Camping auf Deutsch": Liebe, Abenteuer und große Überraschungen in den USA
2025-08-28 10:29:44,269 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Endlich Ruhe: Dieses Outdoor-Gadget hält Mücken zuverlässig fern
2025-08-28 10:29:44,271 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Neue Folge "Bella Italia - Camping auf Deutsch": von Italien in die USA
2025-08-28 10:29:44,272 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: IFA 2025: Jackery präsentiert neue 500-Watt-Powerstation im flachen Format, Solardachziegel und DIY-Balkonkraftwerk mit integriertem Brandschutzsystem
2025-08-28 10:29:44,272 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Inklusiver Campingurlaub am Gardasee
2025-08-28 10:29:44,272 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.presseportal.de/pm/153661/6094377 (Versuch 1)
2025-08-28 10:29:44,551 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:44,553 - INFO - extract_full_article:248 - 🎉 Erfolgreiche Extraktion: 616 Wörter
2025-08-28 10:29:44,553 - INFO - fetch_and_process_feed:215 - ✅ Volltext extrahiert: 616 Wörter
2025-08-28 10:29:44,554 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Inklusiver Campingurlaub am Gardasee
2025-08-28 10:29:44,555 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Neuheiten-Feuerwerk bei vanexxt auf dem Caravan Salon Düsseldorf 2025
2025-08-28 10:29:44,556 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Clevere Vorzelte - Vango beim Caravan Salon in Düsseldorf
2025-08-28 10:29:44,556 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.presseportal.de/pm/170000/6091414 (Versuch 1)
2025-08-28 10:29:44,874 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:44,875 - INFO - extract_full_article:248 - 🎉 Erfolgreiche Extraktion: 191 Wörter
2025-08-28 10:29:44,875 - INFO - fetch_and_process_feed:215 - ✅ Volltext extrahiert: 191 Wörter
2025-08-28 10:29:44,876 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Clevere Vorzelte - Vango beim Caravan Salon in Düsseldorf
2025-08-28 10:29:44,877 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: 50 Jahre ADAC Tourset: Vom Kartenstapel zum digitalen Reisebegleiter / Erfolgreicher Reisebegleiter / 657.000 Toursets in 2024 bestellt
2025-08-28 10:29:44,877 - INFO - fetch_and_process_feed:257 - ✅ Feed verarbeitet: 3 neue Artikel aus https://www.presseportal.de/rss/rss2_vts.htx?q=camping&langid=1
2025-08-28 10:29:45,882 - INFO - fetch_and_process_feed:174 - 🔄 Verarbeite Feed: https://www.presseportal.de/rss/rss2_vts.htx?q=wohnmobil&langid=1
2025-08-28 10:29:46,101 - INFO - fetch_and_process_feed:181 - 📡 Feed-Name: Presseportal.de - Ergebnis der Suchanfrage nach wohnmobil
2025-08-28 10:29:46,101 - INFO - fetch_and_process_feed:187 - 📰 10 Einträge gefunden
2025-08-28 10:29:46,103 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Camping-Boom: Wohnmobil im Urlaub richtig absichern / Wie Sie im Urlaub typische Versicherungsfallen vermeiden
2025-08-28 10:29:46,106 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.presseportal.de/pm/58964/6104008
2025-08-28 10:29:46,344 - INFO - extract_images_with_metadata:167 - 🔍 7 img-Tags gefunden
2025-08-28 10:29:46,345 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.presseportal.de/pm/58964/6104008
2025-08-28 10:29:46,345 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für '66 Lovemobile in Niedersachsen - Zahl leicht gestiegen / Mehr als 80 Prozent der mobilen Bordelle in Niedersachsen auf drei Kreise verteilt' extrahiert
2025-08-28 10:29:46,345 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: 66 Lovemobile in Niedersachsen - Zahl leicht gestiegen / Mehr als 80 Prozent der mobilen Bordelle in Niedersachsen auf drei Kreise verteilt
2025-08-28 10:29:46,347 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Fast jeder Zweite träumt vom Van-Life / HEM-Umfrage zeigt: Das Fahrzeug wird immer häufiger zur mobilen Unterkunft
2025-08-28 10:29:46,348 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: TÜV-Verband: Neues Merkblatt zum Anbau von Solaranlagen an Wohnmobilen
2025-08-28 10:29:46,350 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.presseportal.de/pm/65031/6100268 (Versuch 1)
2025-08-28 10:29:46,664 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:46,665 - INFO - extract_full_article:248 - 🎉 Erfolgreiche Extraktion: 576 Wörter
2025-08-28 10:29:46,666 - INFO - fetch_and_process_feed:215 - ✅ Volltext extrahiert: 576 Wörter
2025-08-28 10:29:46,667 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: TÜV-Verband: Neues Merkblatt zum Anbau von Solaranlagen an Wohnmobilen
2025-08-28 10:29:46,668 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Akku leer: Gefahren beim Laden von E-Bikes
2025-08-28 10:29:46,669 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Neue Folge "Bella Italia - Camping auf Deutsch": von Italien in die USA
2025-08-28 10:29:46,670 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Maximale Flexibilität trifft volle Power: Intelligente Tiefenreinigung ohne Kabel mit der PURE ONE S Serie von Tineco
2025-08-28 10:29:46,672 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Urlaub mit dem Wohnmobil: Was tun bei Panne oder Unfall
2025-08-28 10:29:46,672 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: EuGH fordert im Diesel-Abgasskandal angemessene Entschädigung für Verbraucher
2025-08-28 10:29:46,672 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.presseportal.de/pm/105254/6091837 (Versuch 1)
2025-08-28 10:29:46,973 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:46,975 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: EuGH fordert im Diesel-Abgasskandal angemessene Entschädigung für Verbraucher
2025-08-28 10:29:46,976 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: So ist man beim Camping richtig versichert
2025-08-28 10:29:46,976 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.presseportal.de/pm/121716/6085196 (Versuch 1)
2025-08-28 10:29:47,450 - INFO - extract_with_selectors:165 - ✅ Erfolgreiche Extraktion mit Selektor: {'tag': 'article', 'class': None}
2025-08-28 10:29:47,452 - INFO - extract_full_article:248 - 🎉 Erfolgreiche Extraktion: 603 Wörter
2025-08-28 10:29:47,452 - INFO - fetch_and_process_feed:215 - ✅ Volltext extrahiert: 603 Wörter
2025-08-28 10:29:47,453 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: So ist man beim Camping richtig versichert
2025-08-28 10:29:47,453 - INFO - fetch_and_process_feed:257 - ✅ Feed verarbeitet: 1 neue Artikel aus https://www.presseportal.de/rss/rss2_vts.htx?q=wohnmobil&langid=1
2025-08-28 10:29:48,456 - INFO - fetch_and_process_feed:174 - 🔄 Verarbeite Feed: https://caravan-news.de/rss/schlagzeilen.php
2025-08-28 10:29:48,734 - INFO - fetch_and_process_feed:181 - 📡 Feed-Name: CARAVAN-NEWS.de
2025-08-28 10:29:48,734 - WARNING - fetch_and_process_feed:184 - ⚠️ Keine Einträge in Feed gefunden: https://caravan-news.de/rss/schlagzeilen.php
2025-08-28 10:29:49,738 - INFO - fetch_and_process_feed:174 - 🔄 Verarbeite Feed: https://www.google.de/alerts/feeds/03077836356662926441/16793724126187652294
2025-08-28 10:29:50,380 - INFO - fetch_and_process_feed:181 - 📡 Feed-Name: Google Alert Campingplatz
2025-08-28 10:29:50,380 - INFO - fetch_and_process_feed:187 - 📰 20 Einträge gefunden
2025-08-28 10:29:50,381 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Brand auf <b>Campingplatz</b> in Otterstadt - Speyer-Kurier
2025-08-28 10:29:50,381 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.speyer-kurier.de/blaulicht/artikel/brand-auf-campingplatz-in-otterstadt&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw37x8Ph29lBv4K9sjZjZNlH (Versuch 1)
2025-08-28 10:29:50,491 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:50,492 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:29:50,492 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:29:50,493 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://www.speyer-kurier.de/blaulicht/artikel/brand-auf-campingplatz-in-otterstadt&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw37x8Ph29lBv4K9sjZjZNlH
2025-08-28 10:29:50,496 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.speyer-kurier.de/blaulicht/artikel/brand-auf-campingplatz-in-otterstadt&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw37x8Ph29lBv4K9sjZjZNlH
2025-08-28 10:29:50,613 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:29:50,614 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://www.speyer-kurier.de/blaulicht/artikel/brand-auf-campingplatz-in-otterstadt&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw37x8Ph29lBv4K9sjZjZNlH
2025-08-28 10:29:50,614 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Brand auf <b>Campingplatz</b> in Otterstadt - Speyer-Kurier' extrahiert
2025-08-28 10:29:50,615 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Brand auf <b>Campingplatz</b> in Otterstadt - Speyer-Kurier
2025-08-28 10:29:50,615 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Zehn Jahre Stillstand: Letzter Versuch für geplanten <b>Campingplatz</b>? - Kusel - Die Rheinpfalz
2025-08-28 10:29:50,615 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.rheinpfalz.de/lokal/kreis-kusel_artikel,-zehn-jahre-stillstand-letzter-versuch-f%25C3%25BCr-geplanten-campingplatz-_arid,5806398.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw03Sz4h5yKhs00d4HecyABq (Versuch 1)
2025-08-28 10:29:50,728 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:50,729 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:29:50,729 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:29:50,729 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://www.rheinpfalz.de/lokal/kreis-kusel_artikel,-zehn-jahre-stillstand-letzter-versuch-f%25C3%25BCr-geplanten-campingplatz-_arid,5806398.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw03Sz4h5yKhs00d4HecyABq
2025-08-28 10:29:50,733 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.rheinpfalz.de/lokal/kreis-kusel_artikel,-zehn-jahre-stillstand-letzter-versuch-f%25C3%25BCr-geplanten-campingplatz-_arid,5806398.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw03Sz4h5yKhs00d4HecyABq
2025-08-28 10:29:50,868 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:29:50,868 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://www.rheinpfalz.de/lokal/kreis-kusel_artikel,-zehn-jahre-stillstand-letzter-versuch-f%25C3%25BCr-geplanten-campingplatz-_arid,5806398.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw03Sz4h5yKhs00d4HecyABq
2025-08-28 10:29:50,869 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Zehn Jahre Stillstand: Letzter Versuch für geplanten <b>Campingplatz</b>? - Kusel - Die Rheinpfalz' extrahiert
2025-08-28 10:29:50,869 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Zehn Jahre Stillstand: Letzter Versuch für geplanten <b>Campingplatz</b>? - Kusel - Die Rheinpfalz
2025-08-28 10:29:50,870 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Landvergnügen: Statt <b>Campingplatz</b>, jede Nacht ein anderer Bauernhof - Kleine Zeitung
2025-08-28 10:29:50,870 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.kleinezeitung.at/lebensart/20031453/statt-campingplatz-jede-nacht-ein-anderer-bauernhof&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw0Fnz1ORv1BbfIEZfTG432j (Versuch 1)
2025-08-28 10:29:50,987 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:50,987 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:29:50,988 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:29:50,988 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://www.kleinezeitung.at/lebensart/20031453/statt-campingplatz-jede-nacht-ein-anderer-bauernhof&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw0Fnz1ORv1BbfIEZfTG432j
2025-08-28 10:29:50,992 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.kleinezeitung.at/lebensart/20031453/statt-campingplatz-jede-nacht-ein-anderer-bauernhof&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw0Fnz1ORv1BbfIEZfTG432j
2025-08-28 10:29:51,116 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:29:51,117 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://www.kleinezeitung.at/lebensart/20031453/statt-campingplatz-jede-nacht-ein-anderer-bauernhof&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw0Fnz1ORv1BbfIEZfTG432j
2025-08-28 10:29:51,117 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Landvergnügen: Statt <b>Campingplatz</b>, jede Nacht ein anderer Bauernhof - Kleine Zeitung' extrahiert
2025-08-28 10:29:51,117 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Landvergnügen: Statt <b>Campingplatz</b>, jede Nacht ein anderer Bauernhof - Kleine Zeitung
2025-08-28 10:29:51,118 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Rheinland-Pfalz &amp; Saarland: Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt
2025-08-28 10:29:51,118 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.n-tv.de/regionales/rheinland-pfalz-und-saarland/Sieben-Wohnwagen-bei-Feuer-auf-Campingplatz-beschaedigt-article25992761.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1d142-8q28VLBMt44GmQQm (Versuch 1)
2025-08-28 10:29:51,233 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:51,234 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:29:51,234 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:29:51,234 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://www.n-tv.de/regionales/rheinland-pfalz-und-saarland/Sieben-Wohnwagen-bei-Feuer-auf-Campingplatz-beschaedigt-article25992761.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1d142-8q28VLBMt44GmQQm
2025-08-28 10:29:51,238 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.n-tv.de/regionales/rheinland-pfalz-und-saarland/Sieben-Wohnwagen-bei-Feuer-auf-Campingplatz-beschaedigt-article25992761.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1d142-8q28VLBMt44GmQQm
2025-08-28 10:29:51,367 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:29:51,368 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://www.n-tv.de/regionales/rheinland-pfalz-und-saarland/Sieben-Wohnwagen-bei-Feuer-auf-Campingplatz-beschaedigt-article25992761.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1d142-8q28VLBMt44GmQQm
2025-08-28 10:29:51,368 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Rheinland-Pfalz &amp; Saarland: Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt' extrahiert
2025-08-28 10:29:51,368 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Rheinland-Pfalz &amp; Saarland: Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt
2025-08-28 10:29:51,369 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Klima-Ereignis könnte Europas Wetter radikal verändern und den Winter völlig auf den Kopf stellen
2025-08-28 10:29:51,369 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.fr.de/panorama/veraendern-winter-voellig-auf-den-kopf-stellen-raetselhaftes-klima-ereignis-europa-wetter-radikal-zr-93889387.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw13FBKqr1NahvNwZSiFQUpS (Versuch 1)
2025-08-28 10:29:51,492 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:51,494 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:29:51,494 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:29:51,494 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://www.fr.de/panorama/veraendern-winter-voellig-auf-den-kopf-stellen-raetselhaftes-klima-ereignis-europa-wetter-radikal-zr-93889387.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw13FBKqr1NahvNwZSiFQUpS
2025-08-28 10:29:51,497 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.fr.de/panorama/veraendern-winter-voellig-auf-den-kopf-stellen-raetselhaftes-klima-ereignis-europa-wetter-radikal-zr-93889387.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw13FBKqr1NahvNwZSiFQUpS
2025-08-28 10:29:51,620 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:29:51,620 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://www.fr.de/panorama/veraendern-winter-voellig-auf-den-kopf-stellen-raetselhaftes-klima-ereignis-europa-wetter-radikal-zr-93889387.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw13FBKqr1NahvNwZSiFQUpS
2025-08-28 10:29:51,621 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Klima-Ereignis könnte Europas Wetter radikal verändern und den Winter völlig auf den Kopf stellen' extrahiert
2025-08-28 10:29:51,621 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Klima-Ereignis könnte Europas Wetter radikal verändern und den Winter völlig auf den Kopf stellen
2025-08-28 10:29:51,622 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Lebensgefahr durch extreme Unwetter: Mittelmeer-Phänomen treibt Gefahr nun auch nach ...
2025-08-28 10:29:51,622 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.fr.de/panorama/lebensgefahr-durch-extreme-unwetter-in-italien-warum-die-gefahr-nun-auch-nach-deutschland-schwappt-zr-93902987.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1iZO1swk8NP-QaytJ1i_fH (Versuch 1)
2025-08-28 10:29:51,739 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:51,740 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:29:51,740 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:29:51,740 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://www.fr.de/panorama/lebensgefahr-durch-extreme-unwetter-in-italien-warum-die-gefahr-nun-auch-nach-deutschland-schwappt-zr-93902987.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1iZO1swk8NP-QaytJ1i_fH
2025-08-28 10:29:51,744 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.fr.de/panorama/lebensgefahr-durch-extreme-unwetter-in-italien-warum-die-gefahr-nun-auch-nach-deutschland-schwappt-zr-93902987.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1iZO1swk8NP-QaytJ1i_fH
2025-08-28 10:29:51,869 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:29:51,869 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://www.fr.de/panorama/lebensgefahr-durch-extreme-unwetter-in-italien-warum-die-gefahr-nun-auch-nach-deutschland-schwappt-zr-93902987.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1iZO1swk8NP-QaytJ1i_fH
2025-08-28 10:29:51,869 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Lebensgefahr durch extreme Unwetter: Mittelmeer-Phänomen treibt Gefahr nun auch nach ...' extrahiert
2025-08-28 10:29:51,870 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Lebensgefahr durch extreme Unwetter: Mittelmeer-Phänomen treibt Gefahr nun auch nach ...
2025-08-28 10:29:51,870 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Sachschaden: Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt - Rheinland-Pfalz
2025-08-28 10:29:51,871 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.rhein-zeitung.de/rheinland-pfalz/sieben-wohnwagen-bei-feuer-auf-campingplatz-beschaedigt_arid-4064379.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw39vzojQNhBpnUVvyBovqdG (Versuch 1)
2025-08-28 10:29:51,992 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:51,993 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:29:51,993 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:29:51,994 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://www.rhein-zeitung.de/rheinland-pfalz/sieben-wohnwagen-bei-feuer-auf-campingplatz-beschaedigt_arid-4064379.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw39vzojQNhBpnUVvyBovqdG
2025-08-28 10:29:51,997 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.rhein-zeitung.de/rheinland-pfalz/sieben-wohnwagen-bei-feuer-auf-campingplatz-beschaedigt_arid-4064379.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw39vzojQNhBpnUVvyBovqdG
2025-08-28 10:29:52,120 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:29:52,120 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://www.rhein-zeitung.de/rheinland-pfalz/sieben-wohnwagen-bei-feuer-auf-campingplatz-beschaedigt_arid-4064379.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw39vzojQNhBpnUVvyBovqdG
2025-08-28 10:29:52,121 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Sachschaden: Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt - Rheinland-Pfalz' extrahiert
2025-08-28 10:29:52,121 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Sachschaden: Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt - Rheinland-Pfalz
2025-08-28 10:29:52,121 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: <b>Campingplatz</b> steht unter neuer Leitung - Mühlacker Tagblatt
2025-08-28 10:29:52,122 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.muehlacker-tagblatt.de/Knittlingen/Campingplatz-steht-unter-neuer-Leitung-404285.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw3ohQMvQLwZB15jBj2h_aGm (Versuch 1)
2025-08-28 10:29:52,244 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:52,249 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:29:52,249 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:29:52,250 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://www.muehlacker-tagblatt.de/Knittlingen/Campingplatz-steht-unter-neuer-Leitung-404285.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw3ohQMvQLwZB15jBj2h_aGm
2025-08-28 10:29:52,253 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.muehlacker-tagblatt.de/Knittlingen/Campingplatz-steht-unter-neuer-Leitung-404285.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw3ohQMvQLwZB15jBj2h_aGm
2025-08-28 10:29:52,405 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:29:52,406 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://www.muehlacker-tagblatt.de/Knittlingen/Campingplatz-steht-unter-neuer-Leitung-404285.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw3ohQMvQLwZB15jBj2h_aGm
2025-08-28 10:29:52,406 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für '<b>Campingplatz</b> steht unter neuer Leitung - Mühlacker Tagblatt' extrahiert
2025-08-28 10:29:52,406 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: <b>Campingplatz</b> steht unter neuer Leitung - Mühlacker Tagblatt
2025-08-28 10:29:52,407 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt - Saarbrücker Zeitung
2025-08-28 10:29:52,407 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.saarbruecker-zeitung.de/saarland/blickzumnachbarn/sieben-wohnwagen-bei-feuer-auf-campingplatz-beschaedigt_aid-133771593&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1lKkodrkZcnrbfts2GayPR (Versuch 1)
2025-08-28 10:29:52,529 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:52,530 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:29:52,530 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:29:52,531 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://www.saarbruecker-zeitung.de/saarland/blickzumnachbarn/sieben-wohnwagen-bei-feuer-auf-campingplatz-beschaedigt_aid-133771593&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1lKkodrkZcnrbfts2GayPR
2025-08-28 10:29:52,534 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.saarbruecker-zeitung.de/saarland/blickzumnachbarn/sieben-wohnwagen-bei-feuer-auf-campingplatz-beschaedigt_aid-133771593&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1lKkodrkZcnrbfts2GayPR
2025-08-28 10:29:52,657 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:29:52,657 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://www.saarbruecker-zeitung.de/saarland/blickzumnachbarn/sieben-wohnwagen-bei-feuer-auf-campingplatz-beschaedigt_aid-133771593&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1lKkodrkZcnrbfts2GayPR
2025-08-28 10:29:52,658 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt - Saarbrücker Zeitung' extrahiert
2025-08-28 10:29:52,658 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt - Saarbrücker Zeitung
2025-08-28 10:29:52,659 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Bleibt häufig unbemerkt: Problematischer Trend bei Schulausflügen breitet sich aus
2025-08-28 10:29:52,659 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.fr.de/panorama/bleibt-haeufig-unbemerkt-problematischer-trend-bei-schulausfluegen-breitet-sich-aus-schule-zr-93893032.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw2aoxqFIuFPH9fpfTh4KbQ2 (Versuch 1)
2025-08-28 10:29:52,775 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:52,775 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:29:52,776 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:29:52,776 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://www.fr.de/panorama/bleibt-haeufig-unbemerkt-problematischer-trend-bei-schulausfluegen-breitet-sich-aus-schule-zr-93893032.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw2aoxqFIuFPH9fpfTh4KbQ2
2025-08-28 10:29:52,779 - INFO - fetch_and_process_feed:251 - 🔄 Duplikat übersprungen: Bleibt häufig unbemerkt: Problematischer Trend bei Schulausflügen breitet sich aus
2025-08-28 10:29:52,780 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt - MSN
2025-08-28 10:29:52,780 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.msn.com/de-de/nachrichten/panorama/sieben-wohnwagen-bei-feuer-auf-campingplatz-besch%25C3%25A4digt/ar-AA1Ll6Lo&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw2OKEXFNNohu7Fa2qjUumRZ (Versuch 1)
2025-08-28 10:29:52,896 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:52,897 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:29:52,897 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:29:52,897 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://www.msn.com/de-de/nachrichten/panorama/sieben-wohnwagen-bei-feuer-auf-campingplatz-besch%25C3%25A4digt/ar-AA1Ll6Lo&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw2OKEXFNNohu7Fa2qjUumRZ
2025-08-28 10:29:52,901 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.msn.com/de-de/nachrichten/panorama/sieben-wohnwagen-bei-feuer-auf-campingplatz-besch%25C3%25A4digt/ar-AA1Ll6Lo&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw2OKEXFNNohu7Fa2qjUumRZ
2025-08-28 10:29:53,017 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:29:53,017 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://www.msn.com/de-de/nachrichten/panorama/sieben-wohnwagen-bei-feuer-auf-campingplatz-besch%25C3%25A4digt/ar-AA1Ll6Lo&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw2OKEXFNNohu7Fa2qjUumRZ
2025-08-28 10:29:53,017 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt - MSN' extrahiert
2025-08-28 10:29:53,018 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt - MSN
2025-08-28 10:29:53,018 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Rhein-Pfalz-Kreis Brand auf einem <b>Campingplatz</b> - MRN-News.de
2025-08-28 10:29:53,018 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.mrn-news.de/2025/08/27/rhein-pfalz-kreis-brand-auf-einem-campingplatz-600056/&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1gcVfYYMPsTSp0-8Fh1ov1 (Versuch 1)
2025-08-28 10:29:53,155 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:53,156 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:29:53,156 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:29:53,156 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://www.mrn-news.de/2025/08/27/rhein-pfalz-kreis-brand-auf-einem-campingplatz-600056/&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1gcVfYYMPsTSp0-8Fh1ov1
2025-08-28 10:29:53,160 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.mrn-news.de/2025/08/27/rhein-pfalz-kreis-brand-auf-einem-campingplatz-600056/&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1gcVfYYMPsTSp0-8Fh1ov1
2025-08-28 10:29:53,294 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:29:53,295 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://www.mrn-news.de/2025/08/27/rhein-pfalz-kreis-brand-auf-einem-campingplatz-600056/&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1gcVfYYMPsTSp0-8Fh1ov1
2025-08-28 10:29:53,296 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Rhein-Pfalz-Kreis Brand auf einem <b>Campingplatz</b> - MRN-News.de' extrahiert
2025-08-28 10:29:53,296 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Rhein-Pfalz-Kreis Brand auf einem <b>Campingplatz</b> - MRN-News.de
2025-08-28 10:29:53,296 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt - Trierischer Volksfreund
2025-08-28 10:29:53,296 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.volksfreund.de/region/rheinland-pfalz/sieben-wohnwagen-bei-feuer-auf-campingplatz-beschaedigt_aid-133771597&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw2sDVmOAKfpSHhFZvLdbm_5 (Versuch 1)
2025-08-28 10:29:53,421 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:53,422 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:29:53,422 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:29:53,422 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://www.volksfreund.de/region/rheinland-pfalz/sieben-wohnwagen-bei-feuer-auf-campingplatz-beschaedigt_aid-133771597&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw2sDVmOAKfpSHhFZvLdbm_5
2025-08-28 10:29:53,424 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.volksfreund.de/region/rheinland-pfalz/sieben-wohnwagen-bei-feuer-auf-campingplatz-beschaedigt_aid-133771597&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw2sDVmOAKfpSHhFZvLdbm_5
2025-08-28 10:29:53,548 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:29:53,549 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://www.volksfreund.de/region/rheinland-pfalz/sieben-wohnwagen-bei-feuer-auf-campingplatz-beschaedigt_aid-133771597&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw2sDVmOAKfpSHhFZvLdbm_5
2025-08-28 10:29:53,550 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt - Trierischer Volksfreund' extrahiert
2025-08-28 10:29:53,550 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt - Trierischer Volksfreund
2025-08-28 10:29:53,550 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: FAQ: Alles Wichtige zum Wasser mit Geschmack Festival 2025 in Heubach - Gmünder Tagespost
2025-08-28 10:29:53,551 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.gmuender-tagespost.de/ostalb/rosenstein/heubach/wasser-mit-geschmack-festival-2025-musik-kunst-gemeinschaft-93892202.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw2l9cgUIrS9AjBrhtVSwwib (Versuch 1)
2025-08-28 10:29:53,662 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:53,662 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:29:53,662 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:29:53,662 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://www.gmuender-tagespost.de/ostalb/rosenstein/heubach/wasser-mit-geschmack-festival-2025-musik-kunst-gemeinschaft-93892202.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw2l9cgUIrS9AjBrhtVSwwib
2025-08-28 10:29:53,664 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.gmuender-tagespost.de/ostalb/rosenstein/heubach/wasser-mit-geschmack-festival-2025-musik-kunst-gemeinschaft-93892202.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw2l9cgUIrS9AjBrhtVSwwib
2025-08-28 10:29:53,791 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:29:53,791 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://www.gmuender-tagespost.de/ostalb/rosenstein/heubach/wasser-mit-geschmack-festival-2025-musik-kunst-gemeinschaft-93892202.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw2l9cgUIrS9AjBrhtVSwwib
2025-08-28 10:29:53,792 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'FAQ: Alles Wichtige zum Wasser mit Geschmack Festival 2025 in Heubach - Gmünder Tagespost' extrahiert
2025-08-28 10:29:53,793 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: FAQ: Alles Wichtige zum Wasser mit Geschmack Festival 2025 in Heubach - Gmünder Tagespost
2025-08-28 10:29:53,793 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt - Borkener Zeitung
2025-08-28 10:29:53,794 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.borkenerzeitung.de/welt/in-ausland/panorama/Sieben-Wohnwagen-bei-Feuer-auf-Campingplatz-beschaedigt-663729.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1L3D8uGuPKbB4qBB-8a8I3 (Versuch 1)
2025-08-28 10:29:53,915 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:53,916 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:29:53,916 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:29:53,916 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://www.borkenerzeitung.de/welt/in-ausland/panorama/Sieben-Wohnwagen-bei-Feuer-auf-Campingplatz-beschaedigt-663729.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1L3D8uGuPKbB4qBB-8a8I3
2025-08-28 10:29:53,920 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.borkenerzeitung.de/welt/in-ausland/panorama/Sieben-Wohnwagen-bei-Feuer-auf-Campingplatz-beschaedigt-663729.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1L3D8uGuPKbB4qBB-8a8I3
2025-08-28 10:29:54,078 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:29:54,078 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://www.borkenerzeitung.de/welt/in-ausland/panorama/Sieben-Wohnwagen-bei-Feuer-auf-Campingplatz-beschaedigt-663729.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1L3D8uGuPKbB4qBB-8a8I3
2025-08-28 10:29:54,079 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt - Borkener Zeitung' extrahiert
2025-08-28 10:29:54,079 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt - Borkener Zeitung
2025-08-28 10:29:54,080 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: POL-PPRP: Brand auf einem <b>Campingplatz</b> - freenet.de
2025-08-28 10:29:54,080 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.freenet.de/polizeimeldungen/rheinland-pfalz/pol-pprp-brand-auf-einem-campingplatz_6105496-40501654.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw0Pns94-kd2inHfns451qxb (Versuch 1)
2025-08-28 10:29:54,203 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:54,204 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:29:54,204 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:29:54,204 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://www.freenet.de/polizeimeldungen/rheinland-pfalz/pol-pprp-brand-auf-einem-campingplatz_6105496-40501654.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw0Pns94-kd2inHfns451qxb
2025-08-28 10:29:54,207 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.freenet.de/polizeimeldungen/rheinland-pfalz/pol-pprp-brand-auf-einem-campingplatz_6105496-40501654.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw0Pns94-kd2inHfns451qxb
2025-08-28 10:29:54,349 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:29:54,350 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://www.freenet.de/polizeimeldungen/rheinland-pfalz/pol-pprp-brand-auf-einem-campingplatz_6105496-40501654.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw0Pns94-kd2inHfns451qxb
2025-08-28 10:29:54,350 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'POL-PPRP: Brand auf einem <b>Campingplatz</b> - freenet.de' extrahiert
2025-08-28 10:29:54,351 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: POL-PPRP: Brand auf einem <b>Campingplatz</b> - freenet.de
2025-08-28 10:29:54,351 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Brand auf einem <b>Campingplatz</b> - aktuell mit der meinestadt.de
2025-08-28 10:29:54,351 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://aktuell.meinestadt.de/rhein-pfalz-kreis/polizeimeldungen/5690769&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1fAhNsv2Uiz0FUuFmtx4U1 (Versuch 1)
2025-08-28 10:29:54,473 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:54,473 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:29:54,474 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:29:54,474 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://aktuell.meinestadt.de/rhein-pfalz-kreis/polizeimeldungen/5690769&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1fAhNsv2Uiz0FUuFmtx4U1
2025-08-28 10:29:54,476 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://aktuell.meinestadt.de/rhein-pfalz-kreis/polizeimeldungen/5690769&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1fAhNsv2Uiz0FUuFmtx4U1
2025-08-28 10:29:54,611 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:29:54,611 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://aktuell.meinestadt.de/rhein-pfalz-kreis/polizeimeldungen/5690769&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw1fAhNsv2Uiz0FUuFmtx4U1
2025-08-28 10:29:54,612 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Brand auf einem <b>Campingplatz</b> - aktuell mit der meinestadt.de' extrahiert
2025-08-28 10:29:54,612 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Brand auf einem <b>Campingplatz</b> - aktuell mit der meinestadt.de
2025-08-28 10:29:54,613 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Sachschaden: Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt | STERN.de
2025-08-28 10:29:54,613 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.stern.de/gesellschaft/regional/rheinland-pfalz-saarland/sachschaden--sieben-wohnwagen-bei-feuer-auf-campingplatz-beschaedigt-36007106.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw3ln89AKet0fsmPLwqvKSRZ (Versuch 1)
2025-08-28 10:29:54,731 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:54,732 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:29:54,732 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:29:54,733 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://www.stern.de/gesellschaft/regional/rheinland-pfalz-saarland/sachschaden--sieben-wohnwagen-bei-feuer-auf-campingplatz-beschaedigt-36007106.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw3ln89AKet0fsmPLwqvKSRZ
2025-08-28 10:29:54,736 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.stern.de/gesellschaft/regional/rheinland-pfalz-saarland/sachschaden--sieben-wohnwagen-bei-feuer-auf-campingplatz-beschaedigt-36007106.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw3ln89AKet0fsmPLwqvKSRZ
2025-08-28 10:29:54,863 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:29:54,863 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://www.stern.de/gesellschaft/regional/rheinland-pfalz-saarland/sachschaden--sieben-wohnwagen-bei-feuer-auf-campingplatz-beschaedigt-36007106.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw3ln89AKet0fsmPLwqvKSRZ
2025-08-28 10:29:54,864 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Sachschaden: Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt | STERN.de' extrahiert
2025-08-28 10:29:54,864 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Sachschaden: Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt | STERN.de
2025-08-28 10:29:54,864 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt - TV Mittelrhein
2025-08-28 10:29:54,865 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.tv-mittelrhein.de/mediathek/news/25450/Sieben_Wohnwagen_bei_Feuer_auf_Campingplatz_beschaedigt.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw0he2tUV25IuvO5osNw1xgo (Versuch 1)
2025-08-28 10:29:54,984 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:54,985 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:29:54,985 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:29:54,985 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://www.tv-mittelrhein.de/mediathek/news/25450/Sieben_Wohnwagen_bei_Feuer_auf_Campingplatz_beschaedigt.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw0he2tUV25IuvO5osNw1xgo
2025-08-28 10:29:54,989 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.tv-mittelrhein.de/mediathek/news/25450/Sieben_Wohnwagen_bei_Feuer_auf_Campingplatz_beschaedigt.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw0he2tUV25IuvO5osNw1xgo
2025-08-28 10:29:55,122 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:29:55,122 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://www.tv-mittelrhein.de/mediathek/news/25450/Sieben_Wohnwagen_bei_Feuer_auf_Campingplatz_beschaedigt.html&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw0he2tUV25IuvO5osNw1xgo
2025-08-28 10:29:55,123 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt - TV Mittelrhein' extrahiert
2025-08-28 10:29:55,123 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt - TV Mittelrhein
2025-08-28 10:29:55,123 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt - Mittelhessen
2025-08-28 10:29:55,124 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.mittelhessen.de/lokales/rheinland-pfalz/sieben-wohnwagen-bei-feuer-auf-campingplatz-beschaedigt-4919360&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw2wXuKqnmu2I73TfXwRGof4 (Versuch 1)
2025-08-28 10:29:55,246 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:55,247 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:29:55,247 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:29:55,247 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://www.mittelhessen.de/lokales/rheinland-pfalz/sieben-wohnwagen-bei-feuer-auf-campingplatz-beschaedigt-4919360&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw2wXuKqnmu2I73TfXwRGof4
2025-08-28 10:29:55,249 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.mittelhessen.de/lokales/rheinland-pfalz/sieben-wohnwagen-bei-feuer-auf-campingplatz-beschaedigt-4919360&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw2wXuKqnmu2I73TfXwRGof4
2025-08-28 10:29:55,374 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:29:55,375 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://www.mittelhessen.de/lokales/rheinland-pfalz/sieben-wohnwagen-bei-feuer-auf-campingplatz-beschaedigt-4919360&ct=ga&cd=CAIyGTQxY2RjNDZkNDExY2M5OTc6ZGU6ZGU6REU&usg=AOvVaw2wXuKqnmu2I73TfXwRGof4
2025-08-28 10:29:55,376 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt - Mittelhessen' extrahiert
2025-08-28 10:29:55,377 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Sieben Wohnwagen bei Feuer auf <b>Campingplatz</b> beschädigt - Mittelhessen
2025-08-28 10:29:55,377 - INFO - fetch_and_process_feed:257 - ✅ Feed verarbeitet: 19 neue Artikel aus https://www.google.de/alerts/feeds/03077836356662926441/16793724126187652294
2025-08-28 10:29:56,382 - INFO - fetch_and_process_feed:174 - 🔄 Verarbeite Feed: https://www.google.de/alerts/feeds/03077836356662926441/987500860911797305
2025-08-28 10:29:56,902 - INFO - fetch_and_process_feed:181 - 📡 Feed-Name: Google Alert Vanlife
2025-08-28 10:29:56,902 - INFO - fetch_and_process_feed:187 - 📰 1 Einträge gefunden
2025-08-28 10:29:56,903 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: VanCraft Waypoint XL: <b>Vanlife</b> in Übergröße aus den USA - vanlifemag.de
2025-08-28 10:29:56,903 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://vanlifemag.de/van-craft-waypoint-xl-vanlife-in-uebergroesse-aus-den-usa/&ct=ga&cd=CAIyGWNlNzIxOWZkNzJmZTQwNDU6ZGU6ZGU6REU&usg=AOvVaw1BVz5EAVRoCLYXzxYhRJfy (Versuch 1)
2025-08-28 10:29:57,023 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:29:57,024 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:29:57,024 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:29:57,025 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://vanlifemag.de/van-craft-waypoint-xl-vanlife-in-uebergroesse-aus-den-usa/&ct=ga&cd=CAIyGWNlNzIxOWZkNzJmZTQwNDU6ZGU6ZGU6REU&usg=AOvVaw1BVz5EAVRoCLYXzxYhRJfy
2025-08-28 10:29:57,029 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://vanlifemag.de/van-craft-waypoint-xl-vanlife-in-uebergroesse-aus-den-usa/&ct=ga&cd=CAIyGWNlNzIxOWZkNzJmZTQwNDU6ZGU6ZGU6REU&usg=AOvVaw1BVz5EAVRoCLYXzxYhRJfy
2025-08-28 10:29:57,153 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:29:57,154 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://vanlifemag.de/van-craft-waypoint-xl-vanlife-in-uebergroesse-aus-den-usa/&ct=ga&cd=CAIyGWNlNzIxOWZkNzJmZTQwNDU6ZGU6ZGU6REU&usg=AOvVaw1BVz5EAVRoCLYXzxYhRJfy
2025-08-28 10:29:57,154 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'VanCraft Waypoint XL: <b>Vanlife</b> in Übergröße aus den USA - vanlifemag.de' extrahiert
2025-08-28 10:29:57,154 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: VanCraft Waypoint XL: <b>Vanlife</b> in Übergröße aus den USA - vanlifemag.de
2025-08-28 10:29:57,155 - INFO - fetch_and_process_feed:257 - ✅ Feed verarbeitet: 1 neue Artikel aus https://www.google.de/alerts/feeds/03077836356662926441/987500860911797305
2025-08-28 10:29:58,160 - INFO - fetch_and_process_feed:174 - 🔄 Verarbeite Feed: https://www.google.de/alerts/feeds/03077836356662926441/4770194054838089856
2025-08-28 10:29:58,642 - INFO - fetch_and_process_feed:181 - 📡 Feed-Name: Google Alert Camping Termine 2024
2025-08-28 10:29:58,643 - WARNING - fetch_and_process_feed:184 - ⚠️ Keine Einträge in Feed gefunden: https://www.google.de/alerts/feeds/03077836356662926441/4770194054838089856
2025-08-28 10:29:59,649 - INFO - fetch_and_process_feed:174 - 🔄 Verarbeite Feed: https://www.google.com/alerts/feeds/03077836356662926441/14685692393152596493
2025-08-28 10:30:00,140 - INFO - fetch_and_process_feed:181 - 📡 Feed-Name: Google Alert - Camping Messe 2025
2025-08-28 10:30:00,141 - INFO - fetch_and_process_feed:187 - 📰 4 Einträge gefunden
2025-08-28 10:30:00,142 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Rendsburger Herbst <b>2025</b>: Das müssen Besucher zum Stadtfest wissen - SHZ
2025-08-28 10:30:00,142 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.shz.de/lokales/rendsburg/artikel/rendsburger-herbst-2025-das-muessen-besucher-zum-stadtfest-wissen-49189798&ct=ga&cd=CAIyHGQ1NmVhN2MxY2QzZWYxMTk6Y29tOmRlOkRFOlI&usg=AOvVaw3Q0vDLWiKVxjzAHNaBAL9Q (Versuch 1)
2025-08-28 10:30:00,258 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:30:00,260 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:30:00,260 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:30:00,260 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://www.shz.de/lokales/rendsburg/artikel/rendsburger-herbst-2025-das-muessen-besucher-zum-stadtfest-wissen-49189798&ct=ga&cd=CAIyHGQ1NmVhN2MxY2QzZWYxMTk6Y29tOmRlOkRFOlI&usg=AOvVaw3Q0vDLWiKVxjzAHNaBAL9Q
2025-08-28 10:30:00,264 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.shz.de/lokales/rendsburg/artikel/rendsburger-herbst-2025-das-muessen-besucher-zum-stadtfest-wissen-49189798&ct=ga&cd=CAIyHGQ1NmVhN2MxY2QzZWYxMTk6Y29tOmRlOkRFOlI&usg=AOvVaw3Q0vDLWiKVxjzAHNaBAL9Q
2025-08-28 10:30:00,586 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:30:00,586 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://www.shz.de/lokales/rendsburg/artikel/rendsburger-herbst-2025-das-muessen-besucher-zum-stadtfest-wissen-49189798&ct=ga&cd=CAIyHGQ1NmVhN2MxY2QzZWYxMTk6Y29tOmRlOkRFOlI&usg=AOvVaw3Q0vDLWiKVxjzAHNaBAL9Q
2025-08-28 10:30:00,587 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Rendsburger Herbst <b>2025</b>: Das müssen Besucher zum Stadtfest wissen - SHZ' extrahiert
2025-08-28 10:30:00,587 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Rendsburger Herbst <b>2025</b>: Das müssen Besucher zum Stadtfest wissen - SHZ
2025-08-28 10:30:00,589 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: <b>Messebesuch</b> planen: Das sind die besten Tage für einen Besuch auf dem Caravan Salon <b>2025</b>
2025-08-28 10:30:00,589 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.promobil.de/weitere-ratgeber/messebesuch-planen-caravan-salon-2025/&ct=ga&cd=CAIyHGQ1NmVhN2MxY2QzZWYxMTk6Y29tOmRlOkRFOlI&usg=AOvVaw1GqhXPxrlBChDZ5bo-u9xR (Versuch 1)
2025-08-28 10:30:00,717 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:30:00,718 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:30:00,718 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:30:00,718 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://www.promobil.de/weitere-ratgeber/messebesuch-planen-caravan-salon-2025/&ct=ga&cd=CAIyHGQ1NmVhN2MxY2QzZWYxMTk6Y29tOmRlOkRFOlI&usg=AOvVaw1GqhXPxrlBChDZ5bo-u9xR
2025-08-28 10:30:00,722 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.promobil.de/weitere-ratgeber/messebesuch-planen-caravan-salon-2025/&ct=ga&cd=CAIyHGQ1NmVhN2MxY2QzZWYxMTk6Y29tOmRlOkRFOlI&usg=AOvVaw1GqhXPxrlBChDZ5bo-u9xR
2025-08-28 10:30:00,842 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:30:00,842 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://www.promobil.de/weitere-ratgeber/messebesuch-planen-caravan-salon-2025/&ct=ga&cd=CAIyHGQ1NmVhN2MxY2QzZWYxMTk6Y29tOmRlOkRFOlI&usg=AOvVaw1GqhXPxrlBChDZ5bo-u9xR
2025-08-28 10:30:00,843 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für '<b>Messebesuch</b> planen: Das sind die besten Tage für einen Besuch auf dem Caravan Salon <b>2025</b>' extrahiert
2025-08-28 10:30:00,843 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: <b>Messebesuch</b> planen: Das sind die besten Tage für einen Besuch auf dem Caravan Salon <b>2025</b>
2025-08-28 10:30:00,843 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Caravan Salon: Dieser Fiat 616N Retro-Umbau wird der Hingucker der <b>Messe</b>! - Promobil
2025-08-28 10:30:00,844 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.promobil.de/neuheiten/caravan-salon-dieser-fiat-616n-retro-umbau-wird-der-hingucker-der-messe/&ct=ga&cd=CAIyHGQ1NmVhN2MxY2QzZWYxMTk6Y29tOmRlOkRFOlI&usg=AOvVaw05o4wpeT1ZYzAngJCJ5rbe (Versuch 1)
2025-08-28 10:30:00,960 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:30:00,961 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:30:00,961 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:30:00,961 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://www.promobil.de/neuheiten/caravan-salon-dieser-fiat-616n-retro-umbau-wird-der-hingucker-der-messe/&ct=ga&cd=CAIyHGQ1NmVhN2MxY2QzZWYxMTk6Y29tOmRlOkRFOlI&usg=AOvVaw05o4wpeT1ZYzAngJCJ5rbe
2025-08-28 10:30:00,963 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.promobil.de/neuheiten/caravan-salon-dieser-fiat-616n-retro-umbau-wird-der-hingucker-der-messe/&ct=ga&cd=CAIyHGQ1NmVhN2MxY2QzZWYxMTk6Y29tOmRlOkRFOlI&usg=AOvVaw05o4wpeT1ZYzAngJCJ5rbe
2025-08-28 10:30:01,076 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:30:01,076 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://www.promobil.de/neuheiten/caravan-salon-dieser-fiat-616n-retro-umbau-wird-der-hingucker-der-messe/&ct=ga&cd=CAIyHGQ1NmVhN2MxY2QzZWYxMTk6Y29tOmRlOkRFOlI&usg=AOvVaw05o4wpeT1ZYzAngJCJ5rbe
2025-08-28 10:30:01,077 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Caravan Salon: Dieser Fiat 616N Retro-Umbau wird der Hingucker der <b>Messe</b>! - Promobil' extrahiert
2025-08-28 10:30:01,077 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Caravan Salon: Dieser Fiat 616N Retro-Umbau wird der Hingucker der <b>Messe</b>! - Promobil
2025-08-28 10:30:01,078 - INFO - fetch_and_process_feed:211 - 🔍 Kurzer Artikel erkannt, versuche Volltext-Extraktion: Welche Aktien von Luxusmarken sollten Anleger im Blick behalten? - Shots Magazin
2025-08-28 10:30:01,078 - INFO - extract_full_article:214 - 📰 Starte Volltextextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.shots.media/accessoires/2025/welche-aktien-von-luxusmarken-sollten-anleger-im-blick-behalten/109756&ct=ga&cd=CAIyHGQ1NmVhN2MxY2QzZWYxMTk6Y29tOmRlOkRFOlI&usg=AOvVaw0qlDEuhncZhWTz-dL6IaNA (Versuch 1)
2025-08-28 10:30:01,192 - INFO - extract_full_article:253 - 🔄 Fallback auf generische Selektoren
2025-08-28 10:30:01,193 - INFO - extract_full_article:262 - 🔄 Fallback auf Paragraph-Extraktion
2025-08-28 10:30:01,193 - INFO - extract_full_article:271 - 🔄 Letzter Fallback: Body-Text
2025-08-28 10:30:01,193 - WARNING - extract_full_article:286 - ⚠️ Keine verwertbaren Inhalte gefunden bei: https://www.google.com/url?rct=j&sa=t&url=https://www.shots.media/accessoires/2025/welche-aktien-von-luxusmarken-sollten-anleger-im-blick-behalten/109756&ct=ga&cd=CAIyHGQ1NmVhN2MxY2QzZWYxMTk6Y29tOmRlOkRFOlI&usg=AOvVaw0qlDEuhncZhWTz-dL6IaNA
2025-08-28 10:30:01,197 - INFO - extract_images_with_metadata:149 - 🖼️ Starte Bildextraktion von: https://www.google.com/url?rct=j&sa=t&url=https://www.shots.media/accessoires/2025/welche-aktien-von-luxusmarken-sollten-anleger-im-blick-behalten/109756&ct=ga&cd=CAIyHGQ1NmVhN2MxY2QzZWYxMTk6Y29tOmRlOkRFOlI&usg=AOvVaw0qlDEuhncZhWTz-dL6IaNA
2025-08-28 10:30:01,317 - INFO - extract_images_with_metadata:167 - 🔍 0 img-Tags gefunden
2025-08-28 10:30:01,317 - INFO - extract_images_with_metadata:193 - 🎉 0 Bilder erfolgreich extrahiert von https://www.google.com/url?rct=j&sa=t&url=https://www.shots.media/accessoires/2025/welche-aktien-von-luxusmarken-sollten-anleger-im-blick-behalten/109756&ct=ga&cd=CAIyHGQ1NmVhN2MxY2QzZWYxMTk6Y29tOmRlOkRFOlI&usg=AOvVaw0qlDEuhncZhWTz-dL6IaNA
2025-08-28 10:30:01,318 - INFO - fetch_and_process_feed:244 - 🖼️ 0 Bilder für 'Welche Aktien von Luxusmarken sollten Anleger im Blick behalten? - Shots Magazin' extrahiert
2025-08-28 10:30:01,318 - INFO - fetch_and_process_feed:249 - ✅ Neuer Artikel hinzugefügt: Welche Aktien von Luxusmarken sollten Anleger im Blick behalten? - Shots Magazin
2025-08-28 10:30:01,318 - INFO - fetch_and_process_feed:257 - ✅ Feed verarbeitet: 4 neue Artikel aus https://www.google.com/alerts/feeds/03077836356662926441/14685692393152596493
2025-08-28 10:30:02,356 - INFO - save_articles:144 - ✅ 224 Artikel gespeichert
2025-08-28 10:30:02,356 - INFO - process_articles:310 - 🎉 Verarbeitung abgeschlossen: 39 neue Artikel in 29.97s hinzugefügt
2025-08-28 10:30:03,456 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:30:03,456 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:35:12,296 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:35:12,298 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:35:13,576 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:35:13,576 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:35:20,386 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:35:20,387 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:35:22,120 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:35:22,120 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:35:27,345 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:35:27,346 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:35:28,958 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:35:28,959 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:35:33,721 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:35:33,722 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:35:36,114 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:35:36,115 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:35:39,562 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:35:39,563 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:35:40,876 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:35:40,877 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:35:44,570 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:35:44,570 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:35:46,515 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:35:46,517 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:35:50,319 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:35:50,320 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:35:52,966 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:35:52,967 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:35:57,467 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:35:57,467 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:35:59,614 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:35:59,616 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:36:11,950 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:36:11,951 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:36:13,814 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:36:13,815 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:36:17,157 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:36:17,158 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:36:19,306 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:36:19,307 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:36:21,111 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:36:21,113 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:36:27,203 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:36:27,204 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:36:28,972 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:36:28,973 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:36:33,986 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:36:33,987 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:36:39,183 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:36:39,184 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:36:40,573 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:36:40,574 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:36:43,714 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:36:43,715 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:36:46,366 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:36:46,367 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:36:52,515 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:36:52,515 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:36:54,023 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:36:54,024 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:36:57,434 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:36:57,434 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:36:58,589 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:36:58,589 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:37:01,539 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:37:01,539 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:37:03,255 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:37:03,256 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:37:08,336 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:37:08,336 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:37:09,444 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:37:09,445 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:37:12,883 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:37:12,884 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:37:14,208 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:37:14,208 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:37:17,651 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:37:17,652 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:37:26,215 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:37:26,216 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:37:28,351 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:37:28,351 - INFO - load_feeds:93 - ✅ 10 Feeds geladen
2025-08-28 10:37:28,369 - INFO - save_articles:144 - ✅ 224 Artikel gespeichert
2025-08-28 10:37:28,410 - INFO - load_articles:124 - ✅ 224 Artikel geladen
2025-08-28 10:37:28,410 - INFO - load_feeds:93 - ✅ 10 Feeds geladen

51
utils/config.py Normal file
View file

@ -0,0 +1,51 @@
import os
from typing import Dict, List
from dotenv import load_dotenv
load_dotenv()
def validate_env() -> Dict:
"""Validiert sicherheitsrelevante .env-Variablen.
Returns dict with: ok: bool, errors: List[str], warnings: List[str], summary: Dict[str, bool]
"""
errors: List[str] = []
warnings: List[str] = []
wp_base_url = os.getenv("WP_BASE_URL", "").strip()
wp_user = os.getenv("WP_USERNAME", "").strip()
wp_pass = os.getenv("WP_PASSWORD", "").strip()
wp_b64 = os.getenv("WP_AUTH_BASE64", "").strip()
openai_key = os.getenv("OPENAI_API_KEY", "").strip()
# WP_BASE_URL Pflicht
if not wp_base_url:
errors.append("WP_BASE_URL fehlt in .env")
elif not (wp_base_url.startswith("http://") or wp_base_url.startswith("https://")):
errors.append("WP_BASE_URL muss mit http:// oder https:// beginnen")
# Auth-Creds: entweder Base64 ODER Username+Password
if not wp_b64 and not (wp_user and wp_pass):
errors.append("Entweder WP_AUTH_BASE64 oder WP_USERNAME + WP_PASSWORD in .env setzen")
# Empfehlungen
if not wp_b64 and (wp_user and wp_pass):
warnings.append("WP_AUTH_BASE64 nicht gesetzt Empfehlung: Base64 nutzen (Application Password)")
if not openai_key:
warnings.append("OPENAI_API_KEY ist nicht gesetzt Umschreibungsfunktion ist deaktiviert")
summary = {
"WP_BASE_URL": bool(wp_base_url),
"WP_USERNAME": bool(wp_user),
"WP_PASSWORD": bool(wp_pass),
"WP_AUTH_BASE64": bool(wp_b64),
"OPENAI_API_KEY": bool(openai_key),
}
return {"ok": len(errors) == 0, "errors": errors, "warnings": warnings, "summary": summary}
__all__ = ["validate_env"]

View file

@ -11,17 +11,16 @@ from dotenv import load_dotenv
load_dotenv() load_dotenv()
# WordPress API Konfiguration # WordPress API Konfiguration ausschließlich aus .env
WP_BASE_URL = os.getenv("WP_BASE_URL", "https://vanityontour.de") WP_BASE_URL = os.getenv("WP_BASE_URL")
WP_USERNAME = os.getenv("WP_USERNAME", "ogiertz") WP_USERNAME = os.getenv("WP_USERNAME")
WP_PASSWORD = os.getenv("WP_PASSWORD", "whNEx9aZCIUXViV89Z3e7Z03") WP_PASSWORD = os.getenv("WP_PASSWORD")
WP_AUTH_BASE64 = os.getenv("WP_AUTH_BASE64", "b2dpZXJ0ejp3aE5FeDlhWkNJVVhWaVY4OVozZTdaMDM=") WP_AUTH_BASE64 = os.getenv("WP_AUTH_BASE64")
WP_API_ENDPOINT = f"{WP_BASE_URL}/wp-json/wp/v2"
# Request-Konfiguration # Request-Konfiguration
REQUEST_TIMEOUT = 30 REQUEST_TIMEOUT = 30
MAX_RETRIES = 3 MAX_RETRIES = 3
USER_AGENT = 'RSS-Feed-Manager/1.6.1' USER_AGENT = 'RSS-Feed-Manager/1.7.x'
class WordPressUploader: class WordPressUploader:
""" """
@ -30,41 +29,43 @@ class WordPressUploader:
""" """
def __init__(self): def __init__(self):
self.base_url = WP_BASE_URL # Basis-URL validieren und Endpunkt bauen
self.api_endpoint = WP_API_ENDPOINT if not WP_BASE_URL:
raise ValueError("WP_BASE_URL nicht gesetzt. Bitte .env konfigurieren.")
self.base_url = WP_BASE_URL.rstrip('/')
self.api_endpoint = f"{self.base_url}/wp-json/wp/v2"
# Zugangsdaten (aus .env)
self.username = WP_USERNAME self.username = WP_USERNAME
self.password = WP_PASSWORD self.password = WP_PASSWORD
self.auth_base64 = WP_AUTH_BASE64 self.auth_base64 = WP_AUTH_BASE64
if not self.auth_base64 and not (self.username and self.password):
raise ValueError("WordPress-Authentifizierung nicht konfiguriert. WP_AUTH_BASE64 oder WP_USERNAME + WP_PASSWORD setzen.")
# Session für bessere Performance # Session für bessere Performance
self.session = requests.Session() self.session = requests.Session()
# Authentifizierung über Authorization Header mit Base64 # Authentifizierung über Authorization Header mit Base64
if self.auth_base64: if self.auth_base64:
# Verwende bereitgestellten Base64-String
self.session.headers.update({ self.session.headers.update({
'Authorization': f'Basic {self.auth_base64}', 'Authorization': f'Basic {self.auth_base64}',
'User-Agent': USER_AGENT, 'User-Agent': USER_AGENT,
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'Accept': 'application/json' 'Accept': 'application/json'
}) })
logging.info("✅ WordPress-Authentifizierung: Verwende bereitgestellten Base64-String") logging.info("✅ WordPress-Authentifizierung: Base64-String verwendet")
else: else:
# Fallback: Generiere Base64 aus Username/Password credentials = f"{self.username}:{self.password}"
if self.username and self.password: encoded_credentials = base64.b64encode(credentials.encode('utf-8')).decode('utf-8')
credentials = f"{self.username}:{self.password}" self.session.headers.update({
encoded_credentials = base64.b64encode(credentials.encode('utf-8')).decode('utf-8') 'Authorization': f'Basic {encoded_credentials}',
self.session.headers.update({ 'User-Agent': USER_AGENT,
'Authorization': f'Basic {encoded_credentials}', 'Content-Type': 'application/json',
'User-Agent': USER_AGENT, 'Accept': 'application/json'
'Content-Type': 'application/json', })
'Accept': 'application/json' logging.info("✅ WordPress-Authentifizierung: Base64 aus Username/Password generiert")
})
logging.info("✅ WordPress-Authentifizierung: Base64 aus Username/Password generiert")
else:
logging.error("❌ WordPress-Authentifizierung: Weder Base64-String noch Username/Password verfügbar")
raise ValueError("WordPress-Authentifizierung nicht konfiguriert")
# Standard-Kategorie ID ermitteln # Standard-Kategorie ID ermitteln
self.default_category_id = self._get_default_category_id() self.default_category_id = self._get_default_category_id()
@ -335,11 +336,7 @@ class WordPressUploader:
Testet die Verbindung zur WordPress API mit Base64-Authentifizierung Testet die Verbindung zur WordPress API mit Base64-Authentifizierung
""" """
try: try:
logging.info("🔧 Teste WordPress-API-Verbindung mit Base64-Auth...") logging.info("🔧 Teste WordPress-API-Verbindung...")
# Debug: Auth-Header prüfen
auth_header = self.session.headers.get('Authorization', 'Nicht gesetzt')
logging.info(f"🔑 Authorization Header: {auth_header[:20]}..." if len(auth_header) > 20 else f"🔑 Authorization Header: {auth_header}")
# Einfache Abfrage der Kategorien als Test # Einfache Abfrage der Kategorien als Test
response = self.session.get( response = self.session.get(
@ -349,7 +346,6 @@ class WordPressUploader:
) )
logging.info(f"📡 API-Response Status: {response.status_code}") logging.info(f"📡 API-Response Status: {response.status_code}")
logging.info(f"📡 API-Response Headers: {dict(response.headers)}")
if response.status_code == 200: if response.status_code == 200:
logging.info("✅ WordPress-API-Verbindung erfolgreich") logging.info("✅ WordPress-API-Verbindung erfolgreich")
@ -465,4 +461,4 @@ def upload_single_article_to_wordpress(article: Dict) -> Tuple[bool, str, Option
return False, connection_msg, None return False, connection_msg, None
# Artikel hochladen # Artikel hochladen
return uploader.upload_article(article) return uploader.upload_article(article)