Todos los scrapers

Alimentación y delivery

Coles Scraper

coles.com.au

100% Tasa de éxito
1.8s Respuesta media
Imperva Incapsula Protección
1112 llamadas Medido sobre

Coles es una de las dos mayores cadenas de supermercados de Australia, y coles.com.au está protegido por Imperva, que sirve el sitio solo a algunos países. Un endpoint de plugin dedicado lee los datos con los que se construye cada página de Coles y devuelve los productos ya analizados. mode=search recibe una consulta, mode=category un enlace de navegación o su ruta, y mode=specials enumera los productos en oferta: todos, o solo las ofertas a mitad de precio, multicompra u online. Cada producto viene con su id, nombre, marca, tamaño y enlace, el precio y cualquier precio anterior con el ahorro, la promoción (mitad de precio, oferta, multicompra con su cantidad y su precio, u otra oferta), el precio por unidad, el stock y la disponibilidad con la cantidad disponible, los límites de compra y de promoción, los indicadores de solo online y de patrocinado, la imagen, sus categorías y la vida útil mínima. Ordena por relevancia, precio o precio por unidad, y recoge hasta 480 productos por llamada a 48 por página. mode=product recibe un id o un enlace de producto y añade el código de barras, la descripción, los ingredientes, los alérgenos, las indicaciones dietéticas, la conservación, la tabla nutricional por ración y por 100 g o mL, el tamaño de la ración, el país de origen, la galería de imágenes y las variantes. Los precios son los precios online de Coles en AUD. No hace falta cuenta de Coles, inicio de sesión ni clave de API.

Qué puedes extraer

  • Id del producto, nombre, marca, tamaño y enlace del producto
  • Precio, precio anterior y ahorro, y el precio por unidad (por ejemplo 1,65 $ por 1L)
  • Promoción: mitad de precio, oferta, multicompra con su cantidad y su precio, u otra oferta
  • Stock, disponibilidad y cantidad disponible, límites de compra y de promoción, indicadores de solo online y de patrocinado
  • Imagen, categorías y vida útil mínima
  • Listados de búsqueda, categorías y ofertas, filtrados por ofertas a mitad de precio, multicompra u online y ordenados por relevancia, precio o precio por unidad; hasta 480 productos por llamada
  • Detalle de producto: código de barras, descripción, ingredientes, alérgenos, indicaciones dietéticas, conservación, tabla nutricional por ración y por 100 g o mL, tamaño de la ración y país de origen
  • Detalle de producto: galería de imágenes y variantes

Endpoints dedicados

/groceries/coles

Búsqueda, categorías, ofertas y productos de Coles

mode=search con query, mode=category con category (un enlace de navegación o su ruta) y mode=specials devuelven products con id, name, brand, size, url, price, wasPrice, currency (AUD), onSale, savings, promotion (type, text, cantidad y precio de la multicompra), unitPrice (price, per, text), inStock, available, availableQuantity, purchaseLimit, promotionalLimit, onlineOnly, sponsored, image, categories y minimumShelfLife, además de totalResults, totalPages y nextPage. special (all, half-price, multibuy u online-only) acota el listado de ofertas o filtra una búsqueda, sort es relevance, price_asc, price_desc o unit_price_asc, y max_results (1-480, 48 por página) con page recorre páginas. mode=product con product (un id o un enlace de producto) devuelve product con barcode, description, ingredients, allergens, dietary, storage, nutrition, servingSize, servingsPerPack, countryOfOrigin, images y variants. proxy_country admite AU, NZ, US o CA.

Cómo rastrearlo

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);

Las peticiones son POST y sus parámetros van en la query string. El renderizado en navegador siempre ocurre: no hay ningún flag que activar.

Ejemplo de respuesta

{
  "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
}

Leer la documentación

Preguntas frecuentes

¿Es legal hacer scraping de Coles?

Recopilar datos públicos de Coles como nombres de productos, precios de estantería, precios por unidad y promociones es lícito en muchas jurisdicciones, pero las normas dependen de tu país, de los datos que recopiles y de cómo los uses. ScrapeUnblocker devuelve los datos públicos de los productos; qué recopilas y cómo lo usas es responsabilidad tuya.

¿Cómo hago scraping de Coles sin que me bloqueen?

Coles está protegido por Imperva (Incapsula), que sirve coles.com.au solo a algunos países: las direcciones australianas, neozelandesas, estadounidenses y canadienses reciben las páginas, mientras que las europeas y asiáticas reciben un desafío o un 403 sea cual sea el cliente. El plugin /groceries/coles envía cada llamada desde un exit ISP en uno de esos cuatro países, repartida entre todos ellos en lugar de unas pocas IP australianas, lee los datos con los que se construye la página de Coles en lugar del HTML completo, y pasa a una sesión nueva en otro exit cuando Imperva rechaza uno. Cuando ningún exit obtiene respuesta, la página llega a través de la cadena completa que hay detrás de /getPageSource. En el benchmark de ScrapeUnblocker devolvió datos en el 100 % de 1.112 llamadas (búsquedas, cada una con un término distinto, y páginas de producto), unos 1,8 s por llamada.

¿Qué datos de Coles puedo obtener?

Para cada producto de un listado de búsqueda, categoría u ofertas: el id, nombre, marca, tamaño y enlace, el precio y cualquier precio anterior con el ahorro, el tipo y el texto de la promoción, el precio por unidad, el stock, la disponibilidad y la cantidad disponible, los límites de compra y de promoción, los indicadores de solo online y de patrocinado, la imagen, sus categorías y la vida útil mínima. mode=product añade el código de barras, la descripción, los ingredientes, los alérgenos, las indicaciones dietéticas, la conservación, la tabla nutricional por ración y por 100 g o mL, el tamaño de la ración y las raciones por envase, el país de origen, la galería de imágenes y las variantes.

¿Cómo obtengo las ofertas y los productos a mitad de precio de Coles?

Llama con mode=specials para enumerar todos los productos en oferta, o añade special para acotarlo: half-price, multibuy u online-only. El mismo filtro special funciona en una búsqueda, así que mode=search con query=milk y special=half-price devuelve solo la leche a mitad de precio. Cada producto lleva onSale, wasPrice y savings, y promotion indica de qué tipo de oferta se trata: half_price, special, multibuy con la cantidad y el precio de la multicompra, u offer.

¿Necesito una cuenta de Coles o una IP australiana?

No hace falta cuenta ni una dirección australiana propia: Coles sirve su sitio solo a direcciones de Australia, Nueva Zelanda, Estados Unidos y Canadá, y el plugin elige por ti un exit en uno de esos países. Pasa proxy_country como AU, NZ, US o CA para fijar uno; cualquier otro país se rechaza, porque Coles no le respondería. Los precios son los precios online que muestra coles.com.au, en AUD.

¿Cuánto cuesta hacer scraping de Coles?

Cada página de listado obtenida se factura como una petición: Coles sirve 48 productos por página, así que la búsqueda por defecto es 1 petición y max_results=480 hasta 10, y pagesFetched muestra el número exacto. Un producto es una petición. 1 petición = 1 crédito, 1,00 EUR por cada 1.000 en Pay as you go, bajando hasta unos 0,55 EUR por cada 1.000 en el plan Ultimate. No se facturan los bloqueos ni los timeouts, y la prueba gratuita incluye 500 peticiones sin tarjeta.

Scrapers relacionados

Coles y los demás nombres y marcas de coles.com.au pertenecen a su titular y aquí se usan solo para identificar el sitio web con el que funciona esta API. ScrapeUnblocker es un servicio independiente: no está afiliado al titular de coles.com.au ni cuenta con su respaldo o patrocinio.

Empieza a rastrear este sitio hoy

Plan gratuito incluido. No necesitas tarjeta para probarlo.