1. Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2600+ и мы растем!
    Скрыть объявление

Ошибка [1.2.2116] Shop::Wildberries::ProductInfo - баги при выполнении

Тема в разделе "1.2.2148", создана пользователем BrainQ, 24 ноя 2023.

  1. BrainQ

    BrainQ A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    10 авг 2023
    Сообщения:
    29
    Симпатии:
    0
    Добрый день, При работе с Shop::Wildberries::productInfo были обнаружены баги

    1 - Не парсятся ссылки на товар, для ряда доменов
    www.wildberries.ru - отрабатывает корректно ( https://www.wildberries.ru/catalog/145481466/detail.aspx )
    Посмотреть вложение 3210

    Однако если посетить страницу со списком доменов (https://wildberries.eu) и попытаемся распарсить другие домены - получаем ошибку

    https://www.wildberries.by/product?card=91121234&option=146598523
    Посмотреть вложение 3211

    https://global.wildberries.ru/product?card=91121234&option=146598523
    Посмотреть вложение 3212

    для https://uz.wildberries.ru/catalog/159263212/detail.aspx отрабатывает корректно

    2 - При использовании this.parser.request() - может возникнуть внутренняя ошибка при парсе результата
    https://www.wildberries.ru/catalog/145481466/detail.aspx
    Посмотреть вложение 3213
    при использовании this.parser.request() код скрапера прилагаю
    Посмотреть вложение 3214




    Код:
    export class JS_PARSER_DEV extends BaseParser {
        static defaultConf: typeof BaseParser.defaultConf = {
            version: "1.0.1",
            useproxy: 0,
            proxy: "",
            address: "Москва",
            longitude: "37.6201",
            latitude: "55.753737",
            proxyChecker: "manual",
            results: {
                flat: [
                    ["data", "Data"],
                ],
            },
            results_format: "Status: $success\n Result: $data",
        };
        static editableConf: any = [
            ["proxy", ["textfield", "Manual Proxy"]],
            ["address", ["textfield", "Address"]],
            ["longitude", ["textfield", "Longitude"]],
            ["latitude", ["textfield", "Latitude"]],
        ];
        async parse(set: any, results: any) {
            let currentProxy = null;
            if (this.conf.useproxy && this.conf.proxy) {
                await this.proxy.set(this.conf.proxy, true);
                currentProxy = await this.proxy.get();
            }
            const config = {
                address: this.conf.address,
                lon: this.conf.longitude,
                lat: this.conf.latitude,
                useproxy: this.conf.useproxy,
                resultArraysWithObjects: 1,
                parsecodes: {
                    200: 1,
                    201: 1,
                    204: 1,
                },
            }
            let response: any = await this.parser.request("Shop::Wildberries::ProductInfo", "default", config, set.query)
            if (response.success) {
                results.data = JSON.stringify(response);
            } else {
                results.error = "WILDBERRIES_PRODUCT_SHOP_ERROR: BAD_REQUEST";
                results.data = results.error
            }
            results.success = response.success
            return results;
        }
    }
    
    
     

Поделиться этой страницей