Alimentation et livraison
Coles Scraper
coles.com.au
Coles est l'une des deux plus grandes chaînes de supermarchés d'Australie, et coles.com.au est protégé par Imperva, qui ne sert le site qu'à certains pays. Un endpoint de plugin dédié lit les données à partir desquelles chaque page Coles est construite et renvoie les produits déjà parsés. mode=search prend une requête, mode=category un lien de navigation ou un chemin, et mode=specials liste les produits en promotion : tous, ou seulement les offres moitié prix, multi-achat ou exclusives en ligne. Chaque produit arrive avec son identifiant, son nom, sa marque, son format et son lien, le prix et l'éventuel ancien prix avec l'économie réalisée, la promotion (moitié prix, promotion, multi-achat avec sa quantité et son prix, ou une autre offre), le prix unitaire, le stock et la disponibilité avec la quantité disponible, les limites d'achat et de promotion, les indicateurs exclusivité en ligne et sponsorisé, l'image, ses catégories et la durée de conservation minimale. Triez par pertinence, prix ou prix unitaire, et collectez jusqu'à 480 produits par appel à raison de 48 par page. mode=product prend un identifiant ou un lien produit et ajoute le code-barres, la description, les ingrédients, les allergènes, les mentions diététiques, la conservation, le tableau nutritionnel par portion et pour 100 g ou mL, la taille de portion, le pays d'origine, la galerie d'images et les variantes. Les prix sont les prix en ligne de Coles, en AUD. Aucun compte Coles, connexion ni clé d'API n'est nécessaire.
Ce que vous pouvez extraire
- Identifiant du produit, nom, marque, format et lien produit
- Prix, ancien prix et économie réalisée, et le prix unitaire (par exemple 1,65 $ par 1L)
- Promotion : moitié prix, promotion, multi-achat avec sa quantité et son prix, ou une autre offre
- Stock, disponibilité et quantité disponible, limites d'achat et de promotion, indicateurs exclusivité en ligne et sponsorisé
- Image, catégories et durée de conservation minimale
- Listes de recherche, de catégorie et de promotions, filtrées sur les offres moitié prix, multi-achat ou exclusives en ligne et triées par pertinence, prix ou prix unitaire ; jusqu'à 480 produits par appel
- Fiche produit : code-barres, description, ingrédients, allergènes, mentions diététiques, conservation, tableau nutritionnel par portion et pour 100 g ou mL, taille de portion et pays d'origine
- Fiche produit : galerie d'images et variantes
Endpoints dédiés
/groceries/coles Recherche, catégories, promotions et produits Coles
mode=search avec query, mode=category avec category (un lien de navigation ou son chemin) et mode=specials renvoient products avec id, name, brand, size, url, price, wasPrice, currency (AUD), onSale, savings, promotion (type, text, quantité et prix du multi-achat), unitPrice (price, per, text), inStock, available, availableQuantity, purchaseLimit, promotionalLimit, onlineOnly, sponsored, image, categories et minimumShelfLife, plus totalResults, totalPages et nextPage. special (all, half-price, multibuy ou online-only) restreint la liste des promotions ou filtre une recherche, sort vaut relevance, price_asc, price_desc ou unit_price_asc, et max_results (1-480, 48 par page) avec page parcourt les pages. mode=product avec product (un identifiant ou un lien produit) renvoie product avec barcode, description, ingredients, allergens, dietary, storage, nutrition, servingSize, servingsPerPack, countryOfOrigin, images et variants. proxy_country accepte AU, NZ, US ou CA.
Comment le scraper
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); Les requêtes sont en POST et passent leurs paramètres dans la query string. Le rendu navigateur a toujours lieu : aucun flag à activer.
Exemple de réponse
{
"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
} Lire la documentation de l'API
Questions fréquentes
Le scraping de Coles est-il légal ?
Collecter des données Coles publiques comme les noms des produits, les prix en rayon, les prix unitaires et les promotions est licite dans de nombreuses juridictions, mais les règles dépendent de votre pays, des données collectées et de leur usage. ScrapeUnblocker renvoie les données produit publiques ; ce que vous collectez et comment vous l'utilisez relève de votre responsabilité.
Comment scraper Coles sans se faire bloquer ?
Coles est protégé par Imperva (Incapsula), qui ne sert coles.com.au qu'à certains pays : les adresses australiennes, néo-zélandaises, américaines et canadiennes reçoivent les pages, tandis que les adresses européennes et asiatiques reçoivent un challenge ou un 403, quel que soit le client. Le plugin /groceries/coles envoie chaque appel depuis une sortie ISP dans l'un de ces quatre pays, en se répartissant sur tous plutôt que sur quelques IP australiennes, lit les données à partir desquelles la page Coles est construite au lieu du HTML complet, et passe à une session neuve sur une autre sortie quand Imperva en refuse une. Quand aucune sortie n'obtient de réponse, la page passe par toute la chaîne qui sert /getPageSource. Dans le benchmark de ScrapeUnblocker, 100 % des 1 112 appels (recherches avec un terme différent à chaque fois et pages produit) ont renvoyé des données, en environ 1,8 s par appel.
Quelles données Coles puis-je obtenir ?
Pour chaque produit d'une liste de recherche, de catégorie ou de promotions : l'identifiant, le nom, la marque, le format et le lien, le prix et l'éventuel ancien prix avec l'économie réalisée, le type et le texte de la promotion, le prix unitaire, le stock, la disponibilité et la quantité disponible, les limites d'achat et de promotion, les indicateurs exclusivité en ligne et sponsorisé, l'image, ses catégories et la durée de conservation minimale. mode=product ajoute le code-barres, la description, les ingrédients, les allergènes, les mentions diététiques, la conservation, le tableau nutritionnel par portion et pour 100 g ou mL, la taille de portion et le nombre de portions par paquet, le pays d'origine, la galerie d'images et les variantes.
Comment obtenir les promotions et les produits à moitié prix de Coles ?
Appelez mode=specials pour lister tous les produits en promotion, ou ajoutez special pour restreindre : half-price, multibuy ou online-only. Le même filtre special fonctionne sur une recherche, si bien que mode=search avec query=milk et special=half-price ne renvoie que le lait à moitié prix. Chaque produit porte onSale, wasPrice et savings, et promotion indique de quel type d'offre il s'agit : half_price, special, multibuy avec la quantité et le prix du multi-achat, ou offer.
Ai-je besoin d'un compte Coles ou d'une IP australienne ?
Aucun compte n'est nécessaire, ni aucune adresse australienne de votre côté : Coles ne sert son site qu'aux adresses australiennes, néo-zélandaises, américaines et canadiennes, et le plugin choisit pour vous une sortie dans l'un de ces pays. Passez proxy_country avec AU, NZ, US ou CA pour en fixer un ; tout autre pays est rejeté, car Coles ne lui répondrait pas. Les prix sont les prix en ligne qu'affiche coles.com.au, en AUD.
Combien coûte le scraping de Coles ?
Chaque page de liste récupérée est facturée comme une requête : Coles sert 48 produits par page, la recherche par défaut fait donc 1 requête et max_results=480 jusqu'à 10, et pagesFetched indique le nombre exact. Un produit est une requête. 1 requête = 1 crédit, 1,00 EUR pour 1 000 en paiement à l'usage, en descendant jusqu'à environ 0,55 EUR pour 1 000 sur l'offre Ultimate. Les blocages et les timeouts ne sont pas facturés, et l'essai gratuit inclut 500 requêtes sans carte bancaire.
Scrapers similaires
Coles et les autres noms et marques de coles.com.au appartiennent à leur titulaire et ne servent ici qu'à désigner le site avec lequel cette API fonctionne. ScrapeUnblocker est un service indépendant, sans lien avec le titulaire de coles.com.au, et n'est ni approuvé ni parrainé par lui.
Commencez à scraper ce site dès aujourd'hui
Palier gratuit inclus. Aucune carte bancaire requise pour tester.