Push-Benachrichtigungen bei ArtikelÄnderungen des Games-Island-Artikelstamms – kein Crawling nötig. Die Verbindung bleibt offen, der Server sendet alle 20 s einen Heartbeat (: ka).
https://restock.games-island.eu/events
| URL | Events |
|---|---|
/events | alle |
/events?article=664 | nur dieser Artikel |
/events?category=5&category=9 | Kategorien inkl. Unterkategorien |
event: restock
id: 12345
data: {"kArtikel":664,"cArtNr":"ABC-123","cName":"Pokémon Aquana","cSeo":"Jazwares-Pokemon-Aquana-…","url":"https://games-island.eu/Jazwares-Pokemon-Aquana-…","status":"auf Lager","kKategorie":[1,5],"dErscheinungsdatum":"2026-10-20"}
Event-Typen: restock (Status-Übergang auf „auf Lager"), new (neuer Artikel), status (andere Änderung), removed (Artikel entfernt).
curl -N -L 'https://restock.games-island.eu/events?category=5'
-L folgt dem 307-Redirect auf Port 8443. Ohne -L siehst du nur den Redirect.
const es = new EventSource('https://restock.games-island.eu:8443/events?category=5');
es.addEventListener('restock', e => console.log(JSON.parse(e.data)));
es.addEventListener('new', e => console.log(JSON.parse(e.data)));
import requests
r = requests.get('https://restock.games-island.eu/events?category=5',
stream=True, headers={'Accept': 'text/event-stream'})
for line in r.iter_lines(decode_unicode=True):
if line.startswith('data:'):
print(line[5:].strip())
429 mit Retry-AfterLast-Event-ID-Header wird unterstützt (Replay max. 100 Events)retry: wird pro Verbindung mit Jitter geliefert (3–7 s)