fix: KoePi expliziter REWE-Dortmund-Ausschluss + Diagnose-Logging fuer Adress-Filter
This commit is contained in:
@@ -50,6 +50,16 @@ function normalizeAddress(s) {
|
|||||||
.replace(/[^a-zäöüß0-9]/g, '');
|
.replace(/[^a-zäöüß0-9]/g, '');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Explizit unerwünschte Marken/Franchise-Label, unabhängig von der Adresse —
|
||||||
|
// "REWE Dortmund" ist auf marktguru ein eigener Franchise-Betreiber-Name, der
|
||||||
|
// auch dann raus soll, wenn seine Adresse zufällig mit einer lokalen Filiale
|
||||||
|
// übereinstimmt
|
||||||
|
const EXCLUDED_RETAILER_NAMES = ['rewe dortmund'];
|
||||||
|
function isExcludedRetailer(retailer) {
|
||||||
|
const n = (retailer || '').toLowerCase();
|
||||||
|
return EXCLUDED_RETAILER_NAMES.some(x => n.includes(x));
|
||||||
|
}
|
||||||
|
|
||||||
// Prüft, ob die tatsächlich gescrapte Adresse zu einer der bekannten LOKALEN
|
// Prüft, ob die tatsächlich gescrapte Adresse zu einer der bekannten LOKALEN
|
||||||
// Filialen für diesen Händler passt. Ohne erkannten Händler oder ohne gescrapte
|
// Filialen für diesen Händler passt. Ohne erkannten Händler oder ohne gescrapte
|
||||||
// Adresse wird NICHT gefiltert (lieber ein Angebot zuviel zeigen als eins zu
|
// Adresse wird NICHT gefiltert (lieber ein Angebot zuviel zeigen als eins zu
|
||||||
@@ -168,7 +178,13 @@ async function scrapeMarktguru(forceRefresh = false) {
|
|||||||
// zeigt teils auch weiter entfernte Filialen derselben Kette, z.B. "REWE Dortmund"
|
// zeigt teils auch weiter entfernte Filialen derselben Kette, z.B. "REWE Dortmund"
|
||||||
// oder einen anderen Netto/Kaufland-Standort — anhand der echten gescrapten
|
// oder einen anderen Netto/Kaufland-Standort — anhand der echten gescrapten
|
||||||
// Adresse rausfiltern statt sie fälschlich mit der lokalen Adresse zu überschreiben)
|
// Adresse rausfiltern statt sie fälschlich mit der lokalen Adresse zu überschreiben)
|
||||||
const localOnly = filtered.filter(o => isLocalBranch(o.retailer, o.realAddress));
|
console.log('🍺 KöPi Adress-Diagnose:', filtered.map(o =>
|
||||||
|
`${o.retailer} | realAddress="${o.realAddress}" | excluded=${isExcludedRetailer(o.retailer)} | local=${isLocalBranch(o.retailer, o.realAddress)}`
|
||||||
|
).join('\n '));
|
||||||
|
|
||||||
|
const localOnly = filtered
|
||||||
|
.filter(o => !isExcludedRetailer(o.retailer))
|
||||||
|
.filter(o => isLocalBranch(o.retailer, o.realAddress));
|
||||||
|
|
||||||
// Händler normalisieren: E center = EDEKA
|
// Händler normalisieren: E center = EDEKA
|
||||||
for (const o of localOnly) {
|
for (const o of localOnly) {
|
||||||
|
|||||||
Reference in New Issue
Block a user