Todos los scrapers

Alimentación y delivery

Woolworths Scraper

woolworths.com.au

99.8% Tasa de éxito
3.7s Respuesta media
Akamai Bot Manager Protección
1114 llamadas Medido sobre

Woolworths es una de las dos mayores cadenas de supermercados de Australia, y los datos de woolworths.com.au están protegidos por Akamai Bot Manager. Un endpoint de plugin dedicado lee el mismo JSON que carga la web de Woolworths y devuelve los productos ya analizados. mode=search recibe una consulta, mode=category un enlace, una ruta o un id de categoría, y mode=specials una página de ofertas: Half Price por defecto, o Lower Shelf Price, Everyday Low Price, Seasonal Price, Buy More Save More u Online Only Specials. Cada producto viene con su stockcode, nombre, marca, tamaño, enlace y código de barras, 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, cómo se vende, el stock y la disponibilidad, el límite de compra, los indicadores de novedad y de patrocinado, la imagen, sus categorías, el Health Star Rating y la valoración. Ordena por relevancia, precio, precio por unidad o nombre, quédate solo con los productos en oferta, y recoge hasta 360 productos por llamada a 36 por página. mode=product recibe un stockcode o un enlace de producto y añade la descripción, los ingredientes, los alérgenos, las indicaciones dietéticas, la tabla nutricional por ración y por 100 g o mL, el tamaño de la ración, la conservación, el país de origen, el departamento y el pasillo, todas las imágenes y las variantes. Los precios son los precios online de Woolworths en AUD. No hace falta cuenta de Woolworths, inicio de sesión ni clave de API.

Qué puedes extraer

  • Stockcode, nombre, marca, tamaño, enlace del producto y código de barras
  • Precio, precio anterior y ahorro, y el precio por unidad (por ejemplo 1,70 $ por 1L)
  • Promoción: mitad de precio, oferta, multicompra con su cantidad y su precio, u otra oferta
  • Stock, disponibilidad, límite de compra, cómo se vende, e indicadores de novedad y de patrocinado
  • Imagen, categorías, Health Star Rating y valoración
  • Listados de búsqueda, categorías y ofertas (Half Price, Lower Shelf Price, Buy More Save More y más), ordenados por relevancia, precio, precio por unidad o nombre; hasta 360 productos por llamada
  • Detalle de producto: descripción, ingredientes, alérgenos, indicaciones dietéticas, tabla nutricional por ración y por 100 g o mL, tamaño de la ración, conservación y país de origen
  • Detalle de producto: departamento, pasillo, todas las imágenes y variantes

Endpoints dedicados

/groceries/woolworths

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

mode=search con query, mode=category con category (un enlace de navegación, su ruta o un id de categoría) y mode=specials (category elige la página de ofertas: half-price por defecto, lower-shelf-price, everyday-low-price, seasonal-price, buy-more-save-more u online-only-specials) devuelven products con id (stockcode), name, brand, size, url, barcode, price, wasPrice, currency (AUD), onSale, savings, promotion (type, text, cantidad y precio de la multicompra), unitPrice (price, per, text), soldBy, inStock, available, purchaseLimit, isNew, sponsored, image, categories, healthStarRating y rating, además de totalResults, totalPages y nextPage. sort es relevance, price_asc, price_desc, unit_price_asc, unit_price_desc o name, specials_only=true se queda con los productos en oferta, y max_results (1-360, 36 por página) con page recorre páginas. mode=product con product (un stockcode o un enlace) devuelve product con description, ingredients, allergens (contains, mayContain, freeFrom), dietary, nutrition, servingSize, servingsPerPack, storage, countryOfOrigin, department, aisle, images y variants.

Cómo rastrearlo

curl -X POST \
  -H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
  "https://api.scrapeunblocker.com/groceries/woolworths?mode=search&query=milk"
import requests

resp = requests.post(
    "https://api.scrapeunblocker.com/groceries/woolworths",
    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.woolworthsSearch('milk', {
  sort: 'unit_price_asc',
  maxResults: 72,
});
const product = await su.woolworthsProduct('888137');
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,
  "sort": "relevance",
  "specialsOnly": false,
  "totalResults": 2391,
  "totalPages": 67,
  "page": 1,
  "pageSize": 36,
  "nextPage": 3,
  "resultsCollected": 36,
  "products": [
    {
      "id": "88436",
      "name": "Dairy Farmers Full Cream Milk 2L",
      "brand": "Dairy Farmers",
      "size": "2L",
      "url": "https://www.woolworths.com.au/shop/productdetails/88436/dairy-farmers-full-cream-milk-full-cream-milk",
      "barcode": "9310199012717",
      "price": 4.7,
      "wasPrice": null,
      "currency": "AUD",
      "onSale": false,
      "savings": null,
      "promotion": null,
      "unitPrice": { "price": 2.35, "per": "1L", "text": "$2.35 / 1L" },
      "soldBy": "Each",
      "inStock": true,
      "available": true,
      "purchaseLimit": 36,
      "isNew": false,
      "onlineOnly": false,
      "sponsored": true,
      "image": "https://cdn1.woolworths.media/content/wowproductimages/large/088436.jpg",
      "categories": [ "Container Bonus Credits", "Dairy, Eggs & Fridge", "Milk", "Full Cream Milk" ],
      "healthStarRating": 4.0,
      "rating": null
    },
    {
      "id": "204746",
      "name": "Pauls Smarter White Low Fat Milk 2L",
      "brand": "Pauls",
      "size": "2L",
      "url": "https://www.woolworths.com.au/shop/productdetails/204746/pauls-smarter-white-low-fat-milk",
      "barcode": "9310036039488",
      "price": 4.6,
      "wasPrice": 4.95,
      "currency": "AUD",
      "onSale": true,
      "savings": 0.35,
      "promotion": { "type": "special", "text": "Save $0.35" },
      "unitPrice": { "price": 2.3, "per": "1L", "text": "$2.30 / 1L" },
      "soldBy": "Each",
      "inStock": true,
      "available": true,
      "purchaseLimit": 10,
      "isNew": false,
      "onlineOnly": false,
      "sponsored": true,
      "image": "https://cdn1.woolworths.media/content/wowproductimages/large/204746.jpg",
      "categories": [
        "Dairy, Eggs & Fridge",
        "Milk",
        "Skim & Reduced Fat Milk",
        "Full Cream Milk",
        "Soy & Speciality Milk"
      ],
      "healthStarRating": null,
      "rating": null
    }
  ],
  "pagesFetched": 2,
  "suggestedTerm": null
}

Leer la documentación

Preguntas frecuentes

¿Es legal hacer scraping de Woolworths?

Recopilar datos públicos de Woolworths 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 Woolworths sin que me bloqueen?

Los datos de búsqueda, categorías y productos de Woolworths están protegidos por Akamai Bot Manager: a una sesión sin las cookies de Akamai se le corta la conexión. El plugin /groceries/woolworths abre cada sesión con una petición que Woolworths responde a cualquiera, que fija esas cookies, y después hace sus peticiones reales en el mismo exit con ellas, así que no hace falta ningún navegador. Woolworths responde desde cualquier país, así que las llamadas se reparten entre todos los exits ISP de ScrapeUnblocker en lugar de unos pocos australianos, y un exit rechazado se deja descansar mientras la petición pasa a una sesión nueva en otro. En el benchmark de ScrapeUnblocker devolvió datos en el 99,8 % de 1.114 llamadas (búsquedas, cada una con un término distinto, y páginas de producto), unos 3,7 s por llamada.

¿Qué datos de Woolworths puedo obtener?

Para cada producto de un listado de búsqueda, categoría u ofertas: el stockcode, nombre, marca, tamaño, enlace y código de barras, el precio y cualquier precio anterior con el ahorro, el tipo y el texto de la promoción, el precio por unidad, cómo se vende, el stock, la disponibilidad y el límite de compra, los indicadores de novedad y de patrocinado, la imagen, sus categorías, el Health Star Rating y la valoración. mode=product añade la descripción, los ingredientes, los alérgenos (contiene, puede contener y libre de), las indicaciones dietéticas, la tabla nutricional por ración y por 100 g o mL, el tamaño de la ración y las raciones por envase, la conservación, el país de origen, el departamento, el pasillo, todas las imágenes y las variantes.

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

Llama con mode=specials: por defecto devuelve la página Half Price de Woolworths, y category elige otra página de ofertas: lower-shelf-price, everyday-low-price, seasonal-price, buy-more-save-more u online-only-specials, o un enlace de ofertas. En una búsqueda, specials_only=true se queda solo con los productos en oferta. 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 Woolworths o una IP australiana?

No. El plugin no necesita cuenta de Woolworths, inicio de sesión ni clave de API: envía una consulta, una categoría o un stockcode con tu clave de ScrapeUnblocker y recibe JSON. Woolworths responde a todos los países en los que ScrapeUnblocker tiene exits, así que no necesitas una dirección australiana; deja proxy_country en blanco para repartir la carga, o fíjalo, por ejemplo AU, para usar uno concreto. Los precios son los precios online que muestra woolworths.com.au, en AUD.

¿Cuánto cuesta hacer scraping de Woolworths?

Cada página de listado obtenida se factura como una petición, y pagesFetched muestra el número exacto. Woolworths sirve hasta 36 productos por página, así que max_results=360 ocupa unas 10 páginas; los productos patrocinados se repiten entre páginas y se descartan como duplicados, así que completar max_results puede costar una página más. 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

Woolworths y los demás nombres y marcas de woolworths.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 woolworths.com.au ni cuenta con su respaldo o patrocinio.

Empieza a rastrear este sitio hoy

Plan gratuito incluido. No necesitas tarjeta para probarlo.