Lebensmittel & Lieferung
Coles Scraper
coles.com.au
Coles ist eine der beiden größten Supermarktketten Australiens, und coles.com.au steht hinter Imperva, das die Website nur in einige Länder ausliefert. Ein dedizierter Plugin-Endpoint liest die Daten, aus denen jede Coles-Seite aufgebaut ist, und gibt die Produkte bereits geparst zurück. mode=search nimmt einen Suchbegriff, mode=category einen Browse-Link oder Pfad, und mode=specials listet die Produkte im Angebot auf: alle oder nur Half-Price-, Multibuy- oder Online-only-Angebote. Jedes Produkt kommt mit seiner ID, Namen, Marke, Größe und Link, dem Preis und einem etwaigen Streichpreis mit der Ersparnis, der Aktion (Half Price, Special, Multibuy mit Menge und Preis oder ein anderes Angebot), dem Grundpreis, Bestand und Verfügbarkeit mit der verfügbaren Menge, dem Kauf- und dem Aktionslimit, Online-only- und Sponsored-Kennzeichen, dem Bild, seinen Kategorien und der Mindesthaltbarkeit. Sortiere nach Relevanz, Preis oder Grundpreis und sammle bis zu 480 Produkte pro Call bei 48 pro Seite. mode=product nimmt eine Produkt-ID oder einen Link und ergänzt Barcode, Beschreibung, Zutaten, Allergene, Ernährungsangaben, Lagerung, die Nährwerttabelle pro Portion und pro 100 g oder ml, Portionsgröße, Herkunftsland, die Bildergalerie und Varianten. Die Preise sind die Online-Preise von Coles in AUD. Es braucht weder ein Coles-Konto noch einen Login oder einen API-Schlüssel.
Was Sie extrahieren können
- Produkt-ID, Name, Marke, Größe und Produktlink
- Preis, Streichpreis und Ersparnis sowie der Grundpreis (zum Beispiel 1,65 $ pro 1 l)
- Aktion: Half Price, Special, Multibuy mit Menge und Preis oder ein anderes Angebot
- Bestand, Verfügbarkeit und verfügbare Menge, Kauf- und Aktionslimits, Online-only- und Sponsored-Kennzeichen
- Bild, Kategorien und Mindesthaltbarkeit
- Such-, Kategorie- und Angebotslisten, gefiltert auf Half-Price-, Multibuy- oder Online-only-Angebote und sortiert nach Relevanz, Preis oder Grundpreis; bis zu 480 Produkte pro Call
- Produktdetail: Barcode, Beschreibung, Zutaten, Allergene, Ernährungsangaben, Lagerung, Nährwerttabelle pro Portion und pro 100 g oder ml, Portionsgröße und Herkunftsland
- Produktdetail: Bildergalerie und Varianten
Dedizierte Endpoints
/groceries/coles Coles-Suche, Kategorien, Angebote und Produkte
mode=search mit query, mode=category mit category (ein Browse-Link oder sein Pfad) und mode=specials liefern products mit id, name, brand, size, url, price, wasPrice, currency (AUD), onSale, savings, promotion (type, text, Multibuy-Menge und -Preis), unitPrice (price, per, text), inStock, available, availableQuantity, purchaseLimit, promotionalLimit, onlineOnly, sponsored, image, categories und minimumShelfLife, dazu totalResults, totalPages und nextPage. special (all, half-price, multibuy oder online-only) grenzt die Angebotsliste ein oder filtert eine Suche, sort ist relevance, price_asc, price_desc oder unit_price_asc, und max_results (1-480, 48 pro Seite) mit page blättert durch. mode=product mit product (eine Produkt-ID oder ein Link) liefert product mit barcode, description, ingredients, allergens, dietary, storage, nutrition, servingSize, servingsPerPack, countryOfOrigin, images und variants. proxy_country nimmt AU, NZ, US oder CA.
So wird es gescrapt
curl -X POST \
-H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
"https://api.scrapeunblocker.com/groceries/coles?mode=search&query=milk"import requests
resp = requests.post(
"https://api.scrapeunblocker.com/groceries/coles",
headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
params={"mode": "search", "query": "milk"},
)
print(resp.text)import { ScrapeUnblockerClient } from 'scrapeunblocker';
const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });
const results = await su.colesSearch('milk', {
special: 'half-price',
maxResults: 96,
});
const product = await su.colesProduct('8150288');
console.log(results);
console.log(product); Requests sind POST und übergeben ihre Parameter im Query-String. Browser-Rendering findet immer statt - dafür gibt es kein Flag.
Beispielantwort
{
"mode": "search",
"query": "milk",
"category": null,
"special": null,
"sort": "relevance",
"totalResults": 326,
"totalPages": 7,
"page": 1,
"pageSize": 48,
"nextPage": 2,
"resultsCollected": 48,
"products": [
{
"id": "8150288",
"name": "Full Cream Milk",
"brand": "Coles",
"size": "3L",
"url": "https://www.coles.com.au/product/coles-full-cream-milk-3l-8150288",
"barcode": null,
"price": 4.95,
"wasPrice": null,
"currency": "AUD",
"onSale": false,
"savings": null,
"promotion": null,
"unitPrice": { "price": 1.65, "per": "1l", "text": "$1.65/ 1L" },
"priceDescription": null,
"inStock": true,
"available": true,
"availableQuantity": 2749,
"purchaseLimit": 20,
"promotionalLimit": 12,
"onlineOnly": false,
"sponsored": false,
"image": "https://cdn.productimages.coles.com.au/productimages/8/8150288.jpg",
"categories": [ "Dairy, Eggs & Fridge", "Milk", "Full Cream Milk" ],
"minimumShelfLife": "Life 7 days min"
},
{
"id": "5477930",
"name": "Full Cream Milk",
"brand": "Pura",
"size": "2L",
"url": "https://www.coles.com.au/product/pura-full-cream-milk-2l-5477930",
"barcode": null,
"price": 4.1,
"wasPrice": 4.65,
"currency": "AUD",
"onSale": true,
"savings": 0.55,
"promotion": { "type": "special", "text": "save $0.55", "specialType": null },
"unitPrice": { "price": 2.05, "per": "1l", "text": "$2.05/ 1L" },
"priceDescription": null,
"inStock": true,
"available": true,
"availableQuantity": 374,
"purchaseLimit": 20,
"promotionalLimit": 12,
"onlineOnly": false,
"sponsored": true,
"image": "https://cdn.productimages.coles.com.au/productimages/5/5477930.jpg",
"categories": [ "Dairy, Eggs & Fridge", "Milk", "Full Cream Milk" ],
"minimumShelfLife": "Life 7 days min"
}
],
"pagesFetched": 1,
"didYouMean": null
} Häufige Fragen
Ist das Scrapen von Coles legal?
Das Erheben öffentlich verfügbarer Coles-Daten wie Produktnamen, Regalpreise, Grundpreise und Aktionen ist in vielen Rechtsordnungen zulässig, aber die Regeln hängen von deinem Land, den erhobenen Daten und ihrer Verwendung ab. ScrapeUnblocker liefert die öffentlichen Produktdaten; was du erhebst und wie du es nutzt, liegt in deiner Verantwortung.
Wie scrape ich Coles, ohne blockiert zu werden?
Coles steht hinter Imperva (Incapsula), das coles.com.au nur in einige Länder ausliefert: Australische, neuseeländische, US- und kanadische Adressen bekommen die Seiten, europäische und asiatische dagegen eine Challenge oder ein 403, egal mit welchem Client. Das Plugin /groceries/coles sendet jeden Call über einen ISP-Exit in einem dieser vier Länder, verteilt auf alle statt auf wenige australische IPs, liest die Daten, aus denen die Coles-Seite aufgebaut ist, statt des vollständigen HTML und wechselt in eine frische Session auf einem anderen Exit, wenn Imperva einen abweist. Bekommt kein Exit eine Antwort, kommt die Seite über die vollständige Kette hinter /getPageSource. Im Benchmark von ScrapeUnblocker kamen bei 100 % von 1.112 Calls (Suchen mit jeweils anderem Begriff und Produktseiten) Daten zurück, etwa 1,8 s pro Call.
Welche Coles-Daten bekomme ich?
Für jedes Produkt in einer Such-, Kategorie- oder Angebotsliste: ID, Name, Marke, Größe und Link, den Preis und einen etwaigen Streichpreis mit der Ersparnis, Art und Text der Aktion, den Grundpreis, Bestand, Verfügbarkeit und die verfügbare Menge, das Kauf- und das Aktionslimit, Online-only- und Sponsored-Kennzeichen, das Bild, seine Kategorien und die Mindesthaltbarkeit. mode=product ergänzt Barcode, Beschreibung, Zutaten, Allergene, Ernährungsangaben, Lagerung, die Nährwerttabelle pro Portion und pro 100 g oder ml, Portionsgröße und Portionen pro Packung, Herkunftsland, die Bildergalerie und Varianten.
Wie bekomme ich Coles-Angebote und Half-Price-Produkte?
Rufe mode=specials auf, um jedes Produkt im Angebot aufzulisten, oder füge special hinzu, um einzugrenzen: half-price, multibuy oder online-only. Derselbe special-Filter funktioniert bei einer Suche, sodass mode=search mit query=milk und special=half-price nur Milch zum halben Preis liefert. Jedes Produkt trägt onSale, wasPrice und savings, und promotion sagt, um welche Art Angebot es sich handelt: half_price, special, multibuy mit der Menge und dem Multibuy-Preis, oder offer.
Brauche ich ein Coles-Konto oder eine australische IP?
Es ist kein Konto nötig und auch keine eigene australische Adresse: Coles liefert seine Website nur an australische, neuseeländische, US- und kanadische Adressen aus, und das Plugin wählt einen Exit in einem dieser Länder für dich. Übergib proxy_country als AU, NZ, US oder CA, um eines festzulegen; jedes andere Land wird abgelehnt, weil Coles ihm nicht antworten würde. Die Preise sind die Online-Preise, die coles.com.au zeigt, in AUD.
Wie viel kostet das Scrapen von Coles?
Jede abgerufene Listenseite wird als eine Anfrage berechnet: Coles liefert 48 Produkte pro Seite, eine Standardsuche ist also 1 Anfrage und max_results=480 bis zu 10, und pagesFetched zeigt die genaue Zahl. Ein Produkt ist eine Anfrage. 1 Anfrage = 1 Credit, 1,00 EUR pro 1.000 bei Pay-as-you-go, bis hinunter zu etwa 0,55 EUR pro 1.000 im Ultimate-Tarif. Blockierungen und Timeouts werden nicht berechnet, und die kostenlose Testphase umfasst 500 Anfragen ohne Karte.
Ähnliche Scraper
Coles sowie weitere Namen und Marken von coles.com.au gehören ihrem Inhaber und werden hier nur verwendet, um die Website zu bezeichnen, mit der diese API arbeitet. ScrapeUnblocker ist ein unabhängiger Dienst und steht in keiner Verbindung zum Inhaber von coles.com.au, der ScrapeUnblocker weder unterstützt noch sponsert.
Starten Sie noch heute mit dieser Seite
Kostenloses Kontingent inklusive. Zum Testen ist keine Kreditkarte nötig.