🚀 Content-Pipeline automatisieren statt manuell schneiden
Vereinbaren Sie ein unverbindliches Strategiegespräch
📊 Business Value
Content-Erstellung für Politik-Kanäle ist zeitaufwändig. Diese Pipeline automatisiert den gesamten Workflow: Video finden → herunterladen → Titel generieren → Thumbnail erstellen → Metadaten in DB.
⚙️ Pipeline-Ablauf
Mediathek scrapen
HTML parsen, __NEXT_DATA__ JSON extrahieren. Regex sucht script-Tag mit strukturierten Videodaten.
Video + Thumbnail downloaden
Streaming-Download via requests.iter_content (8KB Chunks). Video + Thumbnail parallel speichern.
KI verarbeiten
OpenAI generiert YouTube-Titel und 3-Wort-Frage aus der Videobeschreibung. Prompt-Engineering für maximale CTR.
DB-Update
Metadaten (Titel, Tags, Beschreibung, Frage) in MySQL schreiben. Ready für YouTube-Upload-Pipeline.
💻 Code — Mediathek-Scraping & JSON-Extraktion
__NEXT_DATA__ JSON aus Next.js-Seite extrahieren
import re, json, requests
response = requests.get(url)
html_text = response.text
json_pattern = re.compile(
r'<script id="__NEXT_DATA__" type="application/json">(.*?)</script>')
match = re.search(json_pattern, html_text)
if match:
data = json.loads(match.group(1))
resolutions = (data.get("props", {}).get("pageProps", {})
.get("mediaItem", {}).get("videos", [])[0]
.get("resolutions", []))
# Nur 1080p, sortiert nach kleinster Dateigröße
filtered = [r for r in resolutions
if r.get("resolution") == "1920x1080"]
best = sorted(filtered, key=lambda r: r.get("size"))[0]
# Metadaten extrahieren
media_item = data["props"]["pageProps"]["mediaItem"]
description = media_item.get("description")
tags = media_item.get("tags")
thumbnail_url = media_item.get("mediaThumbnailURL", {}) \
.get("desktop", "")
💻 Code — OpenAI Titel-Generierung & DB-Update
GPT-4o: SEO-Titel (max 70 Zeichen) + Engagement-Frage
import openai
def generate_title_and_question(description):
title_prompt = (
f"Create a YouTube video title from this description: {description}. "
"The title should be engaging and informative. Don't use: "
"@, #, $, %, &, *, +, =, |, , /, {, }, [, ]. "
"It should look like a YouTube search query, max 70 characters."
)
question_prompt = (
f"Create a 3 word question that fits: {description}."
)
title = openai.ChatCompletion.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": title_prompt}
],
temperature=0.7, max_tokens=1000
).choices[0].message['content'].strip()
question = openai.ChatCompletion.create(
model="gpt-4o",
messages=[...] # analog für question_prompt
).choices[0].message['content'].strip()
return title, question
Streaming-Download mit Chunks (8KB)
def download_file(url, file_path):
response = requests.get(url, stream=True)
with open(file_path, 'wb') as f:
for chunk in response.iter_content(chunk_size=8192):
if chunk:
f.write(chunk)
def download_video_and_thumbnail(video_url, thumb_url,
base_dir, media_business_id):
video_path = f"{base_dir}{media_business_id}_fin.mp4"
thumb_path = f"{base_dir}{media_business_id}.jpg"
download_file(video_url, video_path)
download_file(thumb_url, thumb_path)
return video_path, thumb_path
🎯 Strategische Erkenntnisse
Content-Pipelines statt Einzelstücke
Ein Video manuell zu produzieren dauert 2-4 Stunden. Die Pipeline produziert 10+ Videos pro Stunde — skalierbar ohne Personalkosten-Skalierung.
Pipeline-Denken = Margen-Multiplikator im Content-Business.
Daten strukturieren = Wiederverwenden
Die __NEXT_DATA__-Extraktion funktioniert für ALLE Next.js-Seiten. Einmal gebaut, auf hunderte Quellen anwendbar.
Generische Scraper sparen 80% Entwicklungszeit bei neuen Quellen.
SEO-Titel = mehr Views
GPT-4o optimiert Titel auf YouTube-Suchverhalten (Search-Query-Stil, max 70 Zeichen). Das steigert die organische Reichweite ohne Werbebudget.
KI-generierte Metadaten outperformen manuelle bei Such-Plattformen.
Ihre Content-Pipeline — gebaut in 1 Woche
Ich automatisiere Ihren Content-Workflow: Scraping, Download, KI-Aufbereitung, Upload. Maßgeschneidert für Ihre Quellen.