- Fix relative imports in experiments/ scripts (../ → ../../) - Clean up tsconfig.json exclude list (remove non-existent paths) - All debug scripts now work from their new location Co-Authored-By: Claude <noreply@anthropic.com>
56 lines
1.8 KiB
TypeScript
56 lines
1.8 KiB
TypeScript
import 'dotenv/config';
|
|
import { MagnitApiScraper } from '../../scrapers/api/magnit/MagnitApiScraper.js';
|
|
import { Logger } from '../../utils/logger.js';
|
|
|
|
async function main() {
|
|
const storeCode = process.env.MAGNIT_STORE_CODE || '992301';
|
|
const productId = '1000233138'; // Из inspect скрипта
|
|
|
|
const scraper = new MagnitApiScraper({
|
|
storeCode,
|
|
storeType: process.env.MAGNIT_STORE_TYPE || '6',
|
|
catalogType: process.env.MAGNIT_CATALOG_TYPE || '1',
|
|
headless: process.env.MAGNIT_HEADLESS !== 'false',
|
|
});
|
|
|
|
try {
|
|
await scraper.initialize();
|
|
|
|
Logger.info(`Попытка получить детали товара ${productId}...\n`);
|
|
|
|
// Пробуем разные возможные endpoints для деталей товара
|
|
const endpoints = [
|
|
`/webgate/v2/goods/${productId}`,
|
|
`/webgate/v2/products/${productId}`,
|
|
`/webgate/v2/catalog/product/${productId}`,
|
|
`/webgate/v2/goods/detail/${productId}`,
|
|
];
|
|
|
|
for (const endpoint of endpoints) {
|
|
try {
|
|
Logger.info(`Пробую: ${endpoint}`);
|
|
const response = await (scraper as any).httpClient.get(endpoint);
|
|
Logger.info(`✅ Успех! Status: ${response.status}`);
|
|
Logger.info(JSON.stringify(response.data, null, 2));
|
|
break; // Если успешно, выходим из цикла
|
|
} catch (error: any) {
|
|
if (error.response?.status === 404) {
|
|
Logger.info(` ❌ 404 Not Found`);
|
|
} else if (error.response?.status === 403) {
|
|
Logger.info(` ❌ 403 Forbidden (нужна аутентификация)`);
|
|
} else {
|
|
Logger.info(` ❌ ${error.response?.status || error.message}`);
|
|
}
|
|
}
|
|
}
|
|
|
|
} catch (error) {
|
|
Logger.error('❌ Ошибка:', error);
|
|
process.exit(1);
|
|
} finally {
|
|
await scraper.close();
|
|
}
|
|
}
|
|
|
|
main();
|