diff --git "a/notebook-productos.ipynb" "b/notebook-productos.ipynb" new file mode 100644--- /dev/null +++ "b/notebook-productos.ipynb" @@ -0,0 +1,309 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import requests\n", + "\n", + "url = \"https://d3e6htiiul5ek9.cloudfront.net/prod/productos\"\n", + "params = {\n", + " \"string\": \"stevia\",\n", + " \"array_sucursales\":\"23-1-6256, 12-1-95, 10-1-41, 10-1-32, 23-1-6262, 12-1-165, 2002-1-101, 10-1-268, 12-1-99, 23-1-6257, 2002-1-6, 12-1-97, 23-1-6260, 2002-1-67, 19-1-00812, 2002-1-38, 24-1-292, 10-1-18, 10-1-33, 2002-1-166, 23-1-6264\",\n", + " \"offset\": 0,\n", + " \"limit\": 50,\n", + " \"sort\": \"-cant_sucursales_disponible\"\n", + "}\n", + "\n", + "headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0\",\n", + " \"Accept\": \"application/json, text/plain, */*\",\n", + " \"Accept-Language\": \"en-US,en;q=0.5\",\n", + " \"Accept-Encoding\": \"gzip, deflate, br, zstd\",\n", + " \"Origin\": \"https://www.preciosclaros.gob.ar\",\n", + " \"Connection\": \"keep-alive\",\n", + " \"Referer\": \"https://www.preciosclaros.gob.ar/\",\n", + " \"Sec-Fetch-Dest\": \"empty\",\n", + " \"Sec-Fetch-Mode\": \"cors\",\n", + " \"Sec-Fetch-Site\": \"cross-site\",\n", + " \"TE\": \"trailers\"\n", + "}\n", + "\n", + "response = requests.get(url, params=params, headers=headers)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ID:7792540250450 - Azucar Molida Superior Ledesma 1 Kg - LEDESMA - 1.0 kg - $1179.0 - $1190.0\n", + "ID:7791720029619 - Azucar Comun Tipo A Carrefour Classic 1 Kg - CARREFOUR CLASSIC - 1.0 kg - $999.0 - $999.0\n", + "ID:7798174970016 - Azucar Comun Azucel 1 Kg - AZUCEL - 1.0 kg - $990.0 - $990.0\n", + "ID:7792540294607 - Azucar Rubio Mascabo Ledesma 800 Gr - LEDESMA - 800.0 gr - $1855.0 - $1855.0\n", + "ID:7791720038475 - Azucar Impalpable Carrefour Classic Sobre X 100 Gr - CARREFOUR CLASSIC - 1.0 uni - $490.0 - $490.0\n", + "ID:7795513048788 - Azucar Comun La Perla 1 Kg - LA PERLA - 1.0 kg - $1200.0 - $1200.0\n", + "ID:7790895067532 - Coca Cola sin Azucar 500 Cc - COCA COLA - 500.0 cc - $1040.0 - $1770.0\n", + "ID:7790895067556 - Coca Cola sin Azucar 1.5 Lt - COCA COLA - 1.5 lt - $2190.0 - $3900.0\n", + "ID:7790895643903 - Gaseosa sin Azucar Schweppes 6 Un 310 Cc - SCHWEPPES - 310.0 cc - $850.0 - $1550.0\n", + "ID:7790950143690 - Aperitivo Amargo Pomelo sin Azucar Terma 1.35 Lt - TERMA - 1.35 lt - $1739.0 - $1920.0\n", + "ID:7790580121303 - Mermelada sin Azucar Durazno Arcor 390 Gr - ARCOR - 390.0 gr - $2449.0 - $2455.0\n", + "ID:7790895067617 - Coca Cola sin Azucar Retornable 2 Lt - COCA COLA - 2.0 lt - $1890.0 - $1891.0\n", + "ID:7790895068096 - Coca Cola sin Azucar 2.5 Lt - COCA COLA - 2.5 lt - $3039.0 - $3040.0\n", + "ID:7790957000019 - Alfajores Blancos con Baño de Azucar Jorgito 6 Un 300 Gr - JORGITO - 300.0 gr - $5009.0 - $5739.0\n", + "ID:7798422620021 - Energizante Monster Ultra Sin Azúcar Lat 473 Cmq - MONSTER - 473.0 cmq - $1790.0 - $2000.0\n", + "ID:7790580121310 - Mermelada sin Azucar Frutilla Arcor 390 Gr - ARCOR - 390.0 gr - $3014.0 - $3489.0\n", + "ID:7891000288801 - Cereal Tradicional sin Azucar Nesfit Nestle 220 Gr - NESFIT - 220.0 gr - $2955.0 - $3752.99\n", + "ID:1007084703123 - Bebida Energizante sin Azucar Watermelon Lata Monster 473 Ml - MONSTER - 473.0 ml - $1790.0 - $2000.0\n", + "ID:7622300835194 - Caramelos sin Azucar Frambuesa Clight 20 Gr - CLIGHT - 20.0 gr - $687.99 - $689.0\n", + "ID:7790957000125 - Alfajores de Fruta con Baño de Azucar Jorgito 6 Un 300 Gr - JORGITO - 300.0 gr - $5009.0 - $5012.99\n", + "ID:7791813434412 - Gas. Seven.Up Sin Azucar 1.5 Lt - SEVEN.UP - None none - $1760.0 - $1760.0\n", + "ID:7790950143706 - Aperitivo Amargo Citrus sin Azucar Terma 1.35 Lt - TERMA - 1.35 lt - $1920.0 - $1920.0\n", + "ID:7791337007918 - Leche de Almendras sin Azucar Tetra Silk 1 Lt - SILK - 1.0 lt - $4219.0 - $4219.0\n", + "ID:7791696008892 - Budin Limon y Naranja Artesanal con Baño de Azucar 280 Gr - SIN MARCA - 280.0 gr - $5025.0 - $5025.0\n", + "ID:7798169802858 - Copos Maiz Lasfor Azucar Pqx200g - Sin marca - None none - $1700.0 - $1700.0\n", + "ID:7790380024248 - Chocolate sin Azucar Blanco 30 Gr - GEORGALOS - 30.0 gr - $5599.0 - $5599.0\n", + "ID:7790895067570 - Coca Cola sin Azucar 2.25 Lt - COCA COLA - 2.25 lt - $5000.0 - $5100.0\n", + "ID:7790950141610 - Aperitivo Amargo Pomelo Rosado sin Azucar Peperina y Coriandro Terma 1.35 Lt - TERMA - 1.35 lt - $1300.0 - $1920.0\n", + "ID:7790742665010 - Yogur Bebible sin Azucar Vainilla La Serenisima 900 Ml - LA SERENÍSIMA - 900.0 ml - $2243.5 - $2243.5\n", + "ID:7798172410576 - Galletitas de Hojaldre Larguitas Azucaradas 150 Gr - SIN MARCA - 150.0 gr - $1319.99 - $1649.0\n", + "ID:7798172410569 - Triangulos Azucarado 150 Gr - SIN MARCA - 150.0 gr - $1319.99 - $1649.0\n", + "ID:7797599000483 - Copos Azucarados Nutri Foods Zucar Flakes 400 Gr - NUTRI FOODS - 400.0 gr - $2700.0 - $3129.0\n", + "ID:7792200000319 - Bizcochos Azucarados 9 de Oro 210 Gr - 9 DE ORO - 210.0 gr - $995.0 - $1195.0\n", + "ID:7798126073062 - Bizcocho Azucarados Gaona 180 Gr - GAONA - 180.0 gr - $715.0 - $715.0\n", + "ID:7791720036990 - Bizcochos Azucarados Carrefour Classic X 200 Grs - CARREFOUR CLASSIC - 1.0 uni - $749.0 - $749.0\n", + "ID:7791720038277 - Copos Azucarados Carrefour Classic X 400 Gr - CARREFOUR CLASSIC - 1.0 uni - $2190.0 - $2190.0\n", + "ID:7791720038284 - Copos Azucarados Carrefour Classic X 200 Gr - CARREFOUR CLASSIC - 1.0 uni - $1650.0 - $1650.0\n", + "ID:7896004004938 - Copos de Maiz Azucarados Zucaritas 150 Gr - ZUCARITAS - 150.0 gr - $1719.0 - $1719.0\n", + "ID:7896004004921 - Copos de Maiz Azucarados Zucaritas 240 Gr - ZUCARITAS - 240.0 gr - $2399.0 - $2399.0\n", + "ID:7798159717964 - Bizcochos Azucarados de Hojaldre Carrefour 180 Gr - CARREFOUR - 180.0 gr - $1290.0 - $1290.0\n", + "ID:7798141715565 - Galletitas Azucaradas Vainilla Carrefour 250 Gr - CARREFOUR - 250.0 gr - $870.0 - $870.0\n", + "ID:0000077958341 - Alfajores Dulce de Leche Azucarado Vimar 60 Gr - VIMAR - 60.0 gr - $535.0 - $535.0\n", + "ID:0000077958310 - Alfajores Dulce de Leche Azucarado Vimar 38 Gr - VIMAR - 38.0 gr - $352.0 - $352.0\n", + "ID:7896004004969 - Copos de Maiz Azucarados Zucaritas 490 Gr - ZUCARITAS - 490.0 gr - $4249.0 - $4249.0\n", + "ID:12-1-2096732000003 - Copos de Maiz Azucarado 1 Kg - SIN MARCA - 1.0 kg - $5299.0 - $5299.0\n", + "ID:12-1-2800005374674 - Copos Azucarado Coto Paq 300 Grm - COTO - 300.0 grm - $3199.99 - $3199.99\n", + "ID:2646570000002 - Copos de Harina de Maiz Azucarados 80 Gr - SIN MARCA - 80.0 gr - $499.0 - $499.0\n", + "ID:7790045001607 - Copos de Maiz Azucarados Granix Skarchitos 240 Gr - GRANIX - 240.0 gr - $1249.99 - $1249.99\n", + "ID:0763571806036 - Gin Tonic Pepino S/Azucar Heredero Lat 354 Ml - HEREDERO - 354.0 ml - $2397.0 - $2397.0\n", + "ID:0763571868980 - Gin Tonic Original S/Azucar Heredero Lat 354 Ml - HEREDERO - 354.0 ml - $2397.0 - $2397.0\n" + ] + } + ], + "source": [ + "productos = response.json()[\"productos\"]\n", + "for producto in productos:\n", + " print(f\"ID:{producto['id']} - {producto['nombre']} - {producto['marca']} - {producto['presentacion']} - ${producto['precioMin']} - ${producto['precioMax']}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ID:7792540250450 - Azucar Molida Superior Ledesma 1 Kg - LEDESMA - 1.0 kg - $1179.0 - $1190.0\n", + "ID:7791720029619 - Azucar Comun Tipo A Carrefour Classic 1 Kg - CARREFOUR CLASSIC - 1.0 kg - $999.0 - $999.0\n", + "ID:7798174970016 - Azucar Comun Azucel 1 Kg - AZUCEL - 1.0 kg - $990.0 - $990.0\n", + "ID:7795513048788 - Azucar Comun La Perla 1 Kg - LA PERLA - 1.0 kg - $1200.0 - $1200.0\n" + ] + } + ], + "source": [ + "ids = ['7792540260138','0727373097528','0076625270616', '7798141971381','7791720029619','7792540250450','7795513048788','7790220000746','7798174970016','7791100000481']\n", + "\n", + "for producto in productos:\n", + " if producto['id'] in ids:\n", + " print(f\"ID:{producto['id']} - {producto['nombre']} - {producto['marca']} - {producto['presentacion']} - ${producto['precioMin']} - ${producto['precioMax']}\")\n", + "\n", + "#save the products into a csv\n", + "import csv\n", + "with open('productos.csv', mode='w') as file:\n", + " writer = csv.writer(file)\n", + " writer.writerow([\"ID\", \"Nombre\", \"Marca\", \"Presentacion\", \"Precio Min\", \"Precio Max\"])\n", + " for producto in productos:\n", + " if producto['id'] in ids:\n", + " writer.writerow([producto['id'], producto['nombre'], producto['marca'], producto['presentacion'], producto['precioMin'], producto['precioMax']])" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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Trb8nJqayi+//GL52cfHh/Pnz3Py5MlHtsPR0ZHs7OyH2paVlZXn97527RonTpygcuXKf/jnEhEREetQECUiIiIiv6tz587ky5eP7t2788MPP7B9+3YGDBhA165d8fT0BOD9999n8uTJfP755/z444/069ePmzdv5nlPkyZNWLZsGbt27eLIkSN0794de3t7y/2GDRvSoEED/vd//5f4+Hh++eUXNm7cyKZNm4D7p+6lpaWxdetWrl69Snp6Ov/4xz9o06YNgYGB7N69m8OHD9OlSxdKlixJmzZtntjfkYiIiPznFESJiIiIyO9ydnYmLi6O69ev4+vry9tvv03Tpk2ZM2eO5ZkPPviArl270r17d/z8/ChYsCBt27bN857Q0FAaNmxIq1atCAgI4M0336R8+fJ5nvnXv/6Fr68vHTt2pHLlygwbNsyyCsrf35++ffvyzjvv4OHhwdSpUwGIjo6mVq1atGrVCj8/P8xmM19//TVGo/Fv/psRERGRv8JgfnCzvoiIiIiIiIiIyN9AK6JEREREREREROSJUBAlIiIiIiIiIiJPhIIoERERERERERF5IhREiYiIiIiIiIjIE6EgSkREREREREREnggFUSIiIiIiIiIi8kQoiBIRERERERERkSdCQZSIiIiIiIiIiDwRCqJEREREREREROSJUBAlIiIiIiIiIiJPhIIoERERERERERF5IhREiYiIiIiIiIjIE/H/ALxTWuKitF4qAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n", + "\n", + "# Cargar los datos del CSV\n", + "data = pd.read_csv('productos.csv')\n", + "\n", + "# Crear el gráfico\n", + "plt.figure(figsize=(12, 6))\n", + "\n", + "# Generar colores únicos para cada producto\n", + "colors = plt.cm.tab20(np.linspace(0, 1, len(data)))\n", + "\n", + "# Plotear los precios mínimos y máximos con colores diferentes\n", + "for i, row in data.iterrows():\n", + " plt.scatter(row['Nombre'], row['Precio Min'], color=colors[i], label=row['Nombre'] if i == 0 else \"\")\n", + " plt.scatter(row['Nombre'], row['Precio Max'], color=colors[i])\n", + "\n", + "# Añadir títulos y etiquetas\n", + "plt.title('Precios Mínimos y Máximos de Productos')\n", + "plt.xlabel('Producto')\n", + "plt.ylabel('Precio')\n", + "plt.xticks(rotation=45, ha='right')\n", + "plt.legend()\n", + "\n", + "# Mostrar el gráfico\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "7792540250450\n", + "{'status': 200, 'totalPagina': 21, 'producto': {'precio_unitario_bulto_min_sin_iva': None, 'precio_bulto_min_con_iva': None, 'precio_unitario_bulto_max_sin_iva': None, 'marca': 'LEDESMA', 'precio_bulto_max_sin_iva': None, 'id': '7792540250450', 'precio_bulto_min_sin_iva': None, 'precioMax': 1190.0, 'precio_unitario_bulto_max_con_iva': None, 'precioMin': 1179.0, 'nombre': 'Azucar Molida Superior Ledesma 1 Kg', 'precio_unitario_bulto_min_con_iva': None, 'precio_bulto_max_con_iva': None, 'presentacion': '1.0 kg', 'cantSucursalesDisponible': 7}, 'maxLimitPermitido': 50, 'sucursalesConProducto': 7, 'total': 611, 'sucursales': [{'message': 'La sucursal no contiene el producto.', 'comercioId': '23', 'id': '6256', 'banderaId': '1'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-32.9446397', 'lng': '-60.6778049', 'sucursalNombre': 'LA REINA', 'id': '95', 'sucursalTipo': 'Supermercado', 'provincia': 'AR-S', 'preciosProducto': {'promo1': {'descripcion': 'DEL 10/08/2024 AL 13/08/2024', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': 999.0}, 'precio_unitario_con_iva': '', 'precioLista': 1179.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Mendoza 3901', 'banderaDescripcion': 'COTO CICSA', 'localidad': 'Rosario', 'comercioRazonSocial': 'Coto Centro Integral de Comercialización S.A.', 'comercioId': 12}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '10', 'id': '41', 'banderaId': '1'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-32.951847', 'lng': '-60.670442', 'sucursalNombre': 'Rosario Centro', 'id': '32', 'sucursalTipo': 'Hipermercado', 'provincia': 'AR-S', 'preciosProducto': {'promo1': {'descripcion': 'Promo A valida desde el 08/08/2024 hasta 12/08/2024', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': 1080.0}, 'precio_unitario_con_iva': '', 'precioLista': 1190.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'C. Pellegrini 3250', 'banderaDescripcion': 'Hipermercado Carrefour', 'localidad': 'Rosario', 'comercioRazonSocial': 'INC S.A.', 'comercioId': 10}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '23', 'id': '6262', 'banderaId': '1'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-32.9265135', 'lng': '-60.6720475', 'sucursalNombre': 'ROSARIO TALLERES ', 'id': '165', 'sucursalTipo': 'Hipermercado', 'provincia': 'AR-S', 'preciosProducto': {'promo1': {'descripcion': 'DEL 10/08/2024 AL 13/08/2024', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': 999.0}, 'precio_unitario_con_iva': '', 'precioLista': 1179.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Av. Junin 590', 'banderaDescripcion': 'COTO CICSA', 'localidad': 'Rosario', 'comercioRazonSocial': 'Coto Centro Integral de Comercialización S.A.', 'comercioId': 12}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2002', 'id': '101', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '10', 'id': '268', 'banderaId': '1'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-32.9514498', 'lng': '-60.6467395', 'sucursalNombre': 'ROSARIO', 'id': '99', 'sucursalTipo': 'Hipermercado', 'provincia': 'AR-S', 'preciosProducto': {'promo1': {'descripcion': 'DEL 10/08/2024 AL 13/08/2024', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': 999.0}, 'precio_unitario_con_iva': '', 'precioLista': 1179.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Tres De Febrero 1602', 'banderaDescripcion': 'COTO CICSA', 'localidad': 'Rosario', 'comercioRazonSocial': 'Coto Centro Integral de Comercialización S.A.', 'comercioId': 12}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '23', 'id': '6257', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2002', 'id': '6', 'banderaId': '1'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-32.9416062', 'lng': '-60.6448748', 'sucursalNombre': 'ROSARIO', 'id': '97', 'sucursalTipo': 'Hipermercado', 'provincia': 'AR-S', 'preciosProducto': {'promo1': {'descripcion': 'DEL 10/08/2024 AL 13/08/2024', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': 999.0}, 'precio_unitario_con_iva': '', 'precioLista': 1179.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Urquiza 1644', 'banderaDescripcion': 'COTO CICSA', 'localidad': 'Rosario', 'comercioRazonSocial': 'Coto Centro Integral de Comercialización S.A.', 'comercioId': 12}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '23', 'id': '6260', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2002', 'id': '67', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '19', 'id': '00812', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2002', 'id': '38', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '24', 'id': '292', 'banderaId': '1'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-32.904529', 'lng': '-60.727936', 'sucursalNombre': 'Rosario Fisherton', 'id': '18', 'sucursalTipo': 'Hipermercado', 'provincia': 'AR-S', 'preciosProducto': {'promo1': {'descripcion': 'Promo A valida desde el 08/08/2024 hasta 12/08/2024', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': 1080.0}, 'precio_unitario_con_iva': '', 'precioLista': 1190.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Av. Circunvalación 0', 'banderaDescripcion': 'Hipermercado Carrefour', 'localidad': 'Rosario', 'comercioRazonSocial': 'INC S.A.', 'comercioId': 10}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-32.970122', 'lng': '-60.628560', 'sucursalNombre': 'Rosario Sur', 'id': '33', 'sucursalTipo': 'Hipermercado', 'provincia': 'AR-S', 'preciosProducto': {'promo1': {'descripcion': 'Promo A valida desde el 08/08/2024 hasta 12/08/2024', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': 1080.0}, 'precio_unitario_con_iva': '', 'precioLista': 1190.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Necochea 2579', 'banderaDescripcion': 'Hipermercado Carrefour', 'localidad': 'Rosario', 'comercioRazonSocial': 'INC S.A.', 'comercioId': 10}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2002', 'id': '166', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '23', 'id': '6264', 'banderaId': '1'}]}\n", + "7791720029619\n", + "{'status': 200, 'totalPagina': 21, 'producto': {'precio_unitario_bulto_min_sin_iva': None, 'precio_bulto_min_con_iva': None, 'precio_unitario_bulto_max_sin_iva': None, 'marca': 'CARREFOUR CLASSIC', 'precio_bulto_max_sin_iva': None, 'id': '7791720029619', 'precio_bulto_min_sin_iva': None, 'precioMax': 999.0, 'precio_unitario_bulto_max_con_iva': None, 'precioMin': 999.0, 'nombre': 'Azucar Comun Tipo A Carrefour Classic 1 Kg', 'precio_unitario_bulto_min_con_iva': None, 'precio_bulto_max_con_iva': None, 'presentacion': '1.0 kg', 'cantSucursalesDisponible': 5}, 'maxLimitPermitido': 50, 'sucursalesConProducto': 5, 'total': 548, 'sucursales': [{'message': 'La sucursal no contiene el producto.', 'comercioId': '23', 'id': '6256', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '12', 'id': '95', 'banderaId': '1'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-32.934019', 'lng': '-60.702038', 'sucursalNombre': 'Rosario Village', 'id': '41', 'sucursalTipo': 'Supermercado', 'provincia': 'AR-S', 'preciosProducto': {'promo1': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_unitario_con_iva': '', 'precioLista': 999.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Eva Perón 5856', 'banderaDescripcion': 'Hipermercado Carrefour', 'localidad': 'Rosario', 'comercioRazonSocial': 'INC S.A.', 'comercioId': 10}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-32.951847', 'lng': '-60.670442', 'sucursalNombre': 'Rosario Centro', 'id': '32', 'sucursalTipo': 'Hipermercado', 'provincia': 'AR-S', 'preciosProducto': {'promo1': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_unitario_con_iva': '', 'precioLista': 999.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'C. Pellegrini 3250', 'banderaDescripcion': 'Hipermercado Carrefour', 'localidad': 'Rosario', 'comercioRazonSocial': 'INC S.A.', 'comercioId': 10}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '23', 'id': '6262', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '12', 'id': '165', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2002', 'id': '101', 'banderaId': '1'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-32.942435', 'lng': '-60.657028', 'sucursalNombre': 'Rosario Pueyrredón', 'id': '268', 'sucursalTipo': 'Hipermercado', 'provincia': 'AR-S', 'preciosProducto': {'promo1': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_unitario_con_iva': '', 'precioLista': 999.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Pueyrredón 747', 'banderaDescripcion': 'Hipermercado Carrefour', 'localidad': 'Rosario', 'comercioRazonSocial': 'INC S.A.', 'comercioId': 10}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '12', 'id': '99', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '23', 'id': '6257', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2002', 'id': '6', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '12', 'id': '97', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '23', 'id': '6260', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2002', 'id': '67', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '19', 'id': '00812', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2002', 'id': '38', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '24', 'id': '292', 'banderaId': '1'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-32.904529', 'lng': '-60.727936', 'sucursalNombre': 'Rosario Fisherton', 'id': '18', 'sucursalTipo': 'Hipermercado', 'provincia': 'AR-S', 'preciosProducto': {'promo1': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_unitario_con_iva': '', 'precioLista': 999.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Av. Circunvalación 0', 'banderaDescripcion': 'Hipermercado Carrefour', 'localidad': 'Rosario', 'comercioRazonSocial': 'INC S.A.', 'comercioId': 10}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-32.970122', 'lng': '-60.628560', 'sucursalNombre': 'Rosario Sur', 'id': '33', 'sucursalTipo': 'Hipermercado', 'provincia': 'AR-S', 'preciosProducto': {'promo1': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_unitario_con_iva': '', 'precioLista': 999.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Necochea 2579', 'banderaDescripcion': 'Hipermercado Carrefour', 'localidad': 'Rosario', 'comercioRazonSocial': 'INC S.A.', 'comercioId': 10}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2002', 'id': '166', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '23', 'id': '6264', 'banderaId': '1'}]}\n", + "7798174970016\n", + "{'status': 200, 'totalPagina': 21, 'producto': {'precio_unitario_bulto_min_sin_iva': None, 'precio_bulto_min_con_iva': None, 'precio_unitario_bulto_max_sin_iva': None, 'marca': 'AZUCEL', 'precio_bulto_max_sin_iva': None, 'id': '7798174970016', 'precio_bulto_min_sin_iva': None, 'precioMax': 990.0, 'precio_unitario_bulto_max_con_iva': None, 'precioMin': 990.0, 'nombre': 'Azucar Comun Azucel 1 Kg', 'precio_unitario_bulto_min_con_iva': None, 'precio_bulto_max_con_iva': None, 'presentacion': '1.0 kg', 'cantSucursalesDisponible': 5}, 'maxLimitPermitido': 50, 'sucursalesConProducto': 5, 'total': 289, 'sucursales': [{'message': 'La sucursal no contiene el producto.', 'comercioId': '23', 'id': '6256', 'banderaId': '1'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-32.9446397', 'lng': '-60.6778049', 'sucursalNombre': 'LA REINA', 'id': '95', 'sucursalTipo': 'Supermercado', 'provincia': 'AR-S', 'preciosProducto': {'promo1': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_unitario_con_iva': '', 'precioLista': 990.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Mendoza 3901', 'banderaDescripcion': 'COTO CICSA', 'localidad': 'Rosario', 'comercioRazonSocial': 'Coto Centro Integral de Comercialización S.A.', 'comercioId': 12}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '10', 'id': '41', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '10', 'id': '32', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '23', 'id': '6262', 'banderaId': '1'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-32.9265135', 'lng': '-60.6720475', 'sucursalNombre': 'ROSARIO TALLERES ', 'id': '165', 'sucursalTipo': 'Hipermercado', 'provincia': 'AR-S', 'preciosProducto': {'promo1': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_unitario_con_iva': '', 'precioLista': 990.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Av. Junin 590', 'banderaDescripcion': 'COTO CICSA', 'localidad': 'Rosario', 'comercioRazonSocial': 'Coto Centro Integral de Comercialización S.A.', 'comercioId': 12}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2002', 'id': '101', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '10', 'id': '268', 'banderaId': '1'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-32.9514498', 'lng': '-60.6467395', 'sucursalNombre': 'ROSARIO', 'id': '99', 'sucursalTipo': 'Hipermercado', 'provincia': 'AR-S', 'preciosProducto': {'promo1': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_unitario_con_iva': '', 'precioLista': 990.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Tres De Febrero 1602', 'banderaDescripcion': 'COTO CICSA', 'localidad': 'Rosario', 'comercioRazonSocial': 'Coto Centro Integral de Comercialización S.A.', 'comercioId': 12}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '23', 'id': '6257', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2002', 'id': '6', 'banderaId': '1'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-32.9416062', 'lng': '-60.6448748', 'sucursalNombre': 'ROSARIO', 'id': '97', 'sucursalTipo': 'Hipermercado', 'provincia': 'AR-S', 'preciosProducto': {'promo1': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_unitario_con_iva': '', 'precioLista': 990.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Urquiza 1644', 'banderaDescripcion': 'COTO CICSA', 'localidad': 'Rosario', 'comercioRazonSocial': 'Coto Centro Integral de Comercialización S.A.', 'comercioId': 12}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '23', 'id': '6260', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2002', 'id': '67', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '19', 'id': '00812', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2002', 'id': '38', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '24', 'id': '292', 'banderaId': '1'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-32.904529', 'lng': '-60.727936', 'sucursalNombre': 'Rosario Fisherton', 'id': '18', 'sucursalTipo': 'Hipermercado', 'provincia': 'AR-S', 'preciosProducto': {'promo1': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_unitario_con_iva': '', 'precioLista': 990.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Av. Circunvalación 0', 'banderaDescripcion': 'Hipermercado Carrefour', 'localidad': 'Rosario', 'comercioRazonSocial': 'INC S.A.', 'comercioId': 10}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '10', 'id': '33', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2002', 'id': '166', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '23', 'id': '6264', 'banderaId': '1'}]}\n", + "7795513048788\n", + "{'status': 200, 'totalPagina': 21, 'producto': {'precio_unitario_bulto_min_sin_iva': None, 'precio_bulto_min_con_iva': None, 'precio_unitario_bulto_max_sin_iva': None, 'marca': 'LA PERLA', 'precio_bulto_max_sin_iva': None, 'id': '7795513048788', 'precio_bulto_min_sin_iva': None, 'precioMax': 1200.0, 'precio_unitario_bulto_max_con_iva': None, 'precioMin': 1200.0, 'nombre': 'Azucar Comun La Perla 1 Kg', 'precio_unitario_bulto_min_con_iva': None, 'precio_bulto_max_con_iva': None, 'presentacion': '1.0 kg', 'cantSucursalesDisponible': 5}, 'maxLimitPermitido': 50, 'sucursalesConProducto': 5, 'total': 485, 'sucursales': [{'message': 'La sucursal no contiene el producto.', 'comercioId': '23', 'id': '6256', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '12', 'id': '95', 'banderaId': '1'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-32.934019', 'lng': '-60.702038', 'sucursalNombre': 'Rosario Village', 'id': '41', 'sucursalTipo': 'Supermercado', 'provincia': 'AR-S', 'preciosProducto': {'promo1': {'descripcion': 'Promo A valida desde el 08/08/2024 hasta 12/08/2024', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': 960.0}, 'precio_unitario_con_iva': '', 'precioLista': 1200.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Eva Perón 5856', 'banderaDescripcion': 'Hipermercado Carrefour', 'localidad': 'Rosario', 'comercioRazonSocial': 'INC S.A.', 'comercioId': 10}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-32.951847', 'lng': '-60.670442', 'sucursalNombre': 'Rosario Centro', 'id': '32', 'sucursalTipo': 'Hipermercado', 'provincia': 'AR-S', 'preciosProducto': {'promo1': {'descripcion': 'Promo A valida desde el 08/08/2024 hasta 12/08/2024', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': 960.0}, 'precio_unitario_con_iva': '', 'precioLista': 1200.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'C. Pellegrini 3250', 'banderaDescripcion': 'Hipermercado Carrefour', 'localidad': 'Rosario', 'comercioRazonSocial': 'INC S.A.', 'comercioId': 10}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '23', 'id': '6262', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '12', 'id': '165', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2002', 'id': '101', 'banderaId': '1'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-32.942435', 'lng': '-60.657028', 'sucursalNombre': 'Rosario Pueyrredón', 'id': '268', 'sucursalTipo': 'Hipermercado', 'provincia': 'AR-S', 'preciosProducto': {'promo1': {'descripcion': 'Promo A valida desde el 08/08/2024 hasta 12/08/2024', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': 960.0}, 'precio_unitario_con_iva': '', 'precioLista': 1200.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Pueyrredón 747', 'banderaDescripcion': 'Hipermercado Carrefour', 'localidad': 'Rosario', 'comercioRazonSocial': 'INC S.A.', 'comercioId': 10}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '12', 'id': '99', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '23', 'id': '6257', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2002', 'id': '6', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '12', 'id': '97', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '23', 'id': '6260', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2002', 'id': '67', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '19', 'id': '00812', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2002', 'id': '38', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '24', 'id': '292', 'banderaId': '1'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-32.904529', 'lng': '-60.727936', 'sucursalNombre': 'Rosario Fisherton', 'id': '18', 'sucursalTipo': 'Hipermercado', 'provincia': 'AR-S', 'preciosProducto': {'promo1': {'descripcion': 'Promo A valida desde el 08/08/2024 hasta 12/08/2024', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': 960.0}, 'precio_unitario_con_iva': '', 'precioLista': 1200.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Av. Circunvalación 0', 'banderaDescripcion': 'Hipermercado Carrefour', 'localidad': 'Rosario', 'comercioRazonSocial': 'INC S.A.', 'comercioId': 10}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-32.970122', 'lng': '-60.628560', 'sucursalNombre': 'Rosario Sur', 'id': '33', 'sucursalTipo': 'Hipermercado', 'provincia': 'AR-S', 'preciosProducto': {'promo1': {'descripcion': 'Promo A valida desde el 08/08/2024 hasta 12/08/2024', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': 960.0}, 'precio_unitario_con_iva': '', 'precioLista': 1200.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Necochea 2579', 'banderaDescripcion': 'Hipermercado Carrefour', 'localidad': 'Rosario', 'comercioRazonSocial': 'INC S.A.', 'comercioId': 10}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2002', 'id': '166', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '23', 'id': '6264', 'banderaId': '1'}]}\n" + ] + } + ], + "source": [ + "import requests\n", + "\n", + "import pandas as pd\n", + "\n", + "#get the ids from the csv\n", + "data = pd.read_csv('productos.csv')\n", + "ids = data['ID'].tolist()\n", + "\n", + "for id in ids:\n", + "\n", + " url = \"https://d3e6htiiul5ek9.cloudfront.net/prod/producto\"\n", + " params = {\n", + " \"limit\": 30,\n", + " \"id_producto\": id,\n", + " \"array_sucursales\": \"23-1-6256,12-1-95,10-1-41,10-1-32,23-1-6262,12-1-165,2002-1-101,10-1-268,12-1-99,23-1-6257,2002-1-6,12-1-97,23-1-6260,2002-1-67,19-1-00812,2002-1-38,24-1-292,10-1-18,10-1-33,2002-1-166,23-1-6264\"\n", + "}\n", + "\n", + "\n", + " headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0\",\n", + " \"Accept\": \"application/json, text/plain, */*\",\n", + " \"Accept-Language\": \"en-US,en;q=0.5\",\n", + " \"Accept-Encoding\": \"gzip, deflate, br, zstd\",\n", + " \"Origin\": \"https://www.preciosclaros.gob.ar\",\n", + " \"Connection\": \"keep-alive\",\n", + " \"Referer\": \"https://www.preciosclaros.gob.ar/\",\n", + " \"Sec-Fetch-Dest\": \"empty\",\n", + " \"Sec-Fetch-Mode\": \"cors\",\n", + " \"Sec-Fetch-Site\": \"cross-site\",\n", + " \"TE\": \"trailers\"\n", + " }\n", + "\n", + " response = requests.get(url, params=params, headers=headers)\n", + " if response.status_code == 200:\n", + " print(id)\n", + " print(response.json())" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'status': 200, 'totalPagina': 30, 'producto': {'precio_unitario_bulto_min_sin_iva': None, 'precio_bulto_min_con_iva': None, 'precio_unitario_bulto_max_sin_iva': None, 'marca': 'LEDESMA', 'precio_bulto_max_sin_iva': None, 'id': '7792540260138', 'precio_bulto_min_sin_iva': None, 'precioMax': 1165.0, 'precio_unitario_bulto_max_con_iva': None, 'precioMin': 1129.0, 'nombre': 'Azucar Molida Clasica Ledesma 1 Kg', 'precio_unitario_bulto_min_con_iva': None, 'precio_bulto_max_con_iva': None, 'presentacion': '1.0 kg', 'cantSucursalesDisponible': 9}, 'maxLimitPermitido': 50, 'sucursalesConProducto': 9, 'total': 211, 'sucursales': [{'message': 'La sucursal no contiene el producto.', 'comercioId': '10', 'id': '31', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '19', 'id': '01956', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '9', 'id': '711', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2002', 'id': '84', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '10', 'id': '134', 'banderaId': '2'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2005', 'id': '18', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '36', 'id': '73', 'banderaId': '5'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2005', 'id': '29', 'banderaId': '1'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-37.67561636653722', 'lng': '-59.805969035720864', 'sucursalNombre': 'Benito Juarez', 'id': '40', 'sucursalTipo': 'Supermercado', 'provincia': 'AR-B', 'preciosProducto': {'promo1': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_unitario_con_iva': '', 'precioLista': 1165.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Av. Mitre 87', 'banderaDescripcion': 'Cooperativa Obrera Limitada de Consumo y Vivienda', 'localidad': 'Benito Juarez', 'comercioRazonSocial': 'Cooperativa Obrera Limitada de Consumo y Vivienda', 'comercioId': 13}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '19', 'id': '01173', 'banderaId': '1'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-36.78521552908544', 'lng': '-59.849216222719406', 'sucursalNombre': 'Azul', 'id': '20', 'sucursalTipo': 'Hipermercado', 'provincia': 'AR-B', 'preciosProducto': {'promo1': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_unitario_con_iva': '', 'precioLista': 1165.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Av. Piazza 1101', 'banderaDescripcion': 'Cooperativa Obrera Limitada de Consumo y Vivienda', 'localidad': 'Azul', 'comercioRazonSocial': 'Cooperativa Obrera Limitada de Consumo y Vivienda', 'comercioId': 13}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2', 'id': '185', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2005', 'id': '9', 'banderaId': '1'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-36.788827761866905', 'lng': '-59.871529162628576', 'sucursalNombre': 'Azul II', 'id': '56', 'sucursalTipo': 'Supermercado', 'provincia': 'AR-B', 'preciosProducto': {'promo1': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_unitario_con_iva': '', 'precioLista': 1165.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Av. 25 De Mayo 1272', 'banderaDescripcion': 'Cooperativa Obrera Limitada de Consumo y Vivienda', 'localidad': 'Azul', 'comercioRazonSocial': 'Cooperativa Obrera Limitada de Consumo y Vivienda', 'comercioId': 13}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2005', 'id': '28', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '36', 'id': '40', 'banderaId': '6'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '10', 'id': '58', 'banderaId': '1'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-38.16471323152355', 'lng': '-58.78192359206878', 'sucursalNombre': 'Lobería', 'id': '112', 'sucursalTipo': 'Supermercado', 'provincia': 'AR-B', 'preciosProducto': {'promo1': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_unitario_con_iva': '', 'precioLista': 1165.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Av. San Martín 143', 'banderaDescripcion': 'Cooperativa Obrera Limitada de Consumo y Vivienda', 'localidad': 'Lobería', 'comercioRazonSocial': 'Cooperativa Obrera Limitada de Consumo y Vivienda', 'comercioId': 13}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '3', 'id': '1682', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '19', 'id': '01817', 'banderaId': '1'}, {'banderaId': 2, 'unidad_venta': '', 'lat': '-36.908071', 'lng': '-60.314098', 'sucursalNombre': 'Olavarría II', 'id': '296', 'sucursalTipo': 'Supermercado', 'provincia': 'AR-B', 'preciosProducto': {'promo1': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_unitario_con_iva': '', 'precioLista': 1129.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Av. Del Valle 4379', 'banderaDescripcion': 'Market', 'localidad': 'Olavarría', 'comercioRazonSocial': 'INC S.A.', 'comercioId': 10}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-36.886749319973646', 'lng': '-60.30387032030376', 'sucursalNombre': 'Olavarria I', 'id': '36', 'sucursalTipo': 'Supermercado', 'provincia': 'AR-B', 'preciosProducto': {'promo1': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_unitario_con_iva': '', 'precioLista': 1132.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Av. Pringles 4461', 'banderaDescripcion': 'Cooperativa Obrera Limitada de Consumo y Vivienda', 'localidad': 'Olavarría', 'comercioRazonSocial': 'Cooperativa Obrera Limitada de Consumo y Vivienda', 'comercioId': 13}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '11', 'id': '1054', 'banderaId': '5'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-36.89442050512447', 'lng': '-60.316321134632744', 'sucursalNombre': 'Olavarria II', 'id': '37', 'sucursalTipo': 'Supermercado', 'provincia': 'AR-B', 'preciosProducto': {'promo1': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_unitario_con_iva': '', 'precioLista': 1132.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Necochea 3203', 'banderaDescripcion': 'Cooperativa Obrera Limitada de Consumo y Vivienda', 'localidad': 'Olavarría', 'comercioRazonSocial': 'Cooperativa Obrera Limitada de Consumo y Vivienda', 'comercioId': 13}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '10', 'id': '139', 'banderaId': '1'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2005', 'id': '12', 'banderaId': '1'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-36.90082972971168', 'lng': '-60.33149707323901', 'sucursalNombre': 'Olavarria III', 'id': '59', 'sucursalTipo': 'Supermercado', 'provincia': 'AR-B', 'preciosProducto': {'promo1': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_unitario_con_iva': '', 'precioLista': 1132.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Rivadavia 1751', 'banderaDescripcion': 'Cooperativa Obrera Limitada de Consumo y Vivienda', 'localidad': 'Olavarría', 'comercioRazonSocial': 'Cooperativa Obrera Limitada de Consumo y Vivienda', 'comercioId': 13}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '36', 'id': '51', 'banderaId': '4'}, {'message': 'La sucursal no contiene el producto.', 'comercioId': '2005', 'id': '31', 'banderaId': '1'}, {'banderaId': 1, 'unidad_venta': '', 'lat': '-38.55631807854196', 'lng': '-58.74200582838057', 'sucursalNombre': 'Necochea II', 'id': '39', 'sucursalTipo': 'Supermercado', 'provincia': 'AR-B', 'preciosProducto': {'promo1': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_unitario_con_iva': '', 'precioLista': 1165.0, 'precio_unitario_sin_iva': '', 'promo2': {'descripcion': '', 'precio_unitario_sin_iva': '', 'precio_unitario_con_iva': '', 'precio': ''}, 'precio_bulto_sin_iva': '', 'precio_bulto_con_iva': ''}, 'actualizadoHoy': True, 'direccion': 'Av. 58 3059', 'banderaDescripcion': 'Cooperativa Obrera Limitada de Consumo y Vivienda', 'localidad': 'Necochea', 'comercioRazonSocial': 'Cooperativa Obrera Limitada de Consumo y Vivienda', 'comercioId': 13}]}\n" + ] + } + ], + "source": [ + "import requests\n", + "\n", + "url = \"https://d3e6htiiul5ek9.cloudfront.net/prod/producto\"\n", + "params = {\n", + " \"limit\": 30,\n", + " \"id_producto\": \"7792540260138\",\n", + " \"array_sucursales\": \"10-1-31,19-1-01956,9-1-711,2002-1-84,10-2-134,2005-1-18,36-5-73,2005-1-29,13-1-40,19-1-01173,13-1-20,2-1-185,2005-1-9,13-1-56,2005-1-28,36-6-40,10-1-58,13-1-112,3-1-1682,19-1-01817,10-2-296,13-1-36,11-5-1054,13-1-37,10-1-139,2005-1-12,13-1-59,36-4-51,2005-1-31,13-1-39\"\n", + "}\n", + "headers = {\n", + " \"accept\": \"application/json, text/plain, */*\",\n", + " \"accept-language\": \"en-US,en;q=0.9\",\n", + " \"origin\": \"https://www.preciosclaros.gob.ar\",\n", + " \"priority\": \"u=1, i\",\n", + " \"referer\": \"https://www.preciosclaros.gob.ar/\",\n", + " \"sec-ch-ua\": '\"Not)A;Brand\";v=\"99\", \"Microsoft Edge\";v=\"127\", \"Chromium\";v=\"127\"',\n", + " \"sec-ch-ua-mobile\": \"?0\",\n", + " \"sec-ch-ua-platform\": '\"Windows\"',\n", + " \"sec-fetch-dest\": \"empty\",\n", + " \"sec-fetch-mode\": \"cors\",\n", + " \"sec-fetch-site\": \"cross-site\",\n", + " \"user-agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0\",\n", + " \"x-api-key\": \"zIgFou7Gta7g87VFGL9dZ4BEEs19gNYS1SOQZt96\"\n", + "}\n", + "\n", + "response = requests.get(url, params=params, headers=headers)\n", + "print(response.json())" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}