Запрос цены товара с сайта apteka.ru

02.09.19

Интеграция - Сайты и интернет-магазины

Пример запроса для получения цены товара/лекарства с сайта apteka.ru

Скачать исходный код

Наименование Файл Версия Размер
Запрос цены товара с сайта apteka.ru:
.epf 7,30Kb
1
.epf 7,30Kb 1 Скачать

Приветствую. Это пример для получения цены с сайта apteka.ru (без округления)

Тестировал на 1С:Розница Аптека 2.2.12.30, платформа 8.3.13.1865. Думаю, работать будет и на других. 
 

&НаКлиенте
Процедура УзнатьЦену(Команда)
    
    Штрихкод=ПолучитьШтрихкод();
    
    ssl = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows());      
    HTTPСоединение = Новый HTTPСоединение("apteka.ru",,,,,,ssl,);      
    Заголовки = Новый Соответствие;
    Заголовки.Вставить("Origin", "https://apteka.ru");
    Заголовки.Вставить("Accept-Language", "ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7"); 
    Заголовки.Вставить("X-Requested-With", "XMLHttpRequest");
    Заголовки.Вставить("DNT", "1"); 
    Заголовки.Вставить("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36");
    Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
    HTTPЗапрос = Новый HTTPЗапрос("/", Заголовки);
    Результат = HTTPСоединение.Получить(HTTPЗапрос);
    Cookie = Результат.Заголовки.Получить("Set-Cookie");     
    Cookie = СтрЗаменить(Cookie, ";", Символы.ПС);         
    Cookie = СтрПолучитьСтроку(Cookie, 1); 
    Заголовки.Вставить("Cookie", Cookie);
    ЗапросЧасть1 = "/search/?q=";
    ЗапросЧасть2 = ШтрихКод;
    ЗапросЧасть3 = "&order=products%2Cmaterials&vendor=";
    ИтоговойЗапрос = ЗапросЧасть1 + ЗапросЧасть2 + ЗапросЧасть3;
    HTTPЗапрос = Новый HTTPЗапрос(ИтоговойЗапрос, Заголовки);     
    HTTPЗапрос.УстановитьТелоИзСтроки(ИтоговойЗапрос, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);    
    Ответ = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);     
    Ответ = Ответ.ПолучитьТелоКакСтроку("UTF-8");
    Ошибка404 = "page-404";
    ИщемОшибку404 = Найти(Ответ, Ошибка404); 
    Если ИщемОшибку404 = 0 Тогда     
        ЧтоИщемВСтроке = "data-price=";
        Позиция = Найти(Ответ, ЧтоИщемВСтроке);
        Длина = СтрДлина(Ответ);
        Ответ = Прав(Ответ, СтрДлина(Ответ)-Позиция-11);
        Ответ = Лев(Ответ, 11);  
        RegExp = Новый COMОбъект("VBScript.RegExp");        
        RegExp.IgnoreCase = Истина; //Игнорировать регистр 
        RegExp.Global = Истина; //Поиск всех вхождений шаблона 
        RegExp.MultiLine = Истина; //Многострочный режим 
        RegExp.Pattern = "[^0-9]"; // отбор только чисел          
        Ответ=RegExp.Replace(Ответ, "");            
        Ответ = Лев(Ответ, СтрДлина(Ответ)-2);
        Если Ответ <> "" Тогда
            Ответ = Число(Ответ);
            Ответ = Формат(Ответ, "ЧЦ=15");
            Ответ = Ответ + " руб.";
        КонецЕсли;
        Сообщить(Ответ);
    Иначе Сообщить("Товар не найден");
    КонецЕсли;   
    
КонецПроцедуры

&НаСервере
Функция ПолучитьШтрихкод();
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ ПЕРВЫЕ 1
    |    Штрихкоды.Штрихкод КАК Штрихкод
    |ИЗ
    |    РегистрСведений.Штрихкоды КАК Штрихкоды
    |ГДЕ
    |    Штрихкоды.Владелец = &Номенклатура";
    
    Запрос.УстановитьПараметр("Номенклатура", ЭтаФорма.Номенклатура);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Штрихкод = ВыборкаДетальныеЗаписи.Штрихкод;
    КонецЦикла;
    
    Возврат Штрихкод;
    
КонецФункции

 

См. также

API-интеграция 1С с маркетплейсами ОЗОН, WildBerries, Я.Маркет, СберМегаМаркет, Стройландия, Леруа Мерлен, Hoff, AliExpress для УТ11, КА2, ERP2, УНФ, БП3, Розница, УТ10, УПП1.3

Сайты и интернет-магазины Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Беларусь Россия Управленческий учет Платные (руб)

Модуль для интеграции с маркетплейсами ОЗОН, WildBerries, Я.Маркет, СберМегаМаркет, Стройландия, Леруа Мерлен, Hoff, AliExpress. При помощи расширения поддерживаются следующие методы: обмен остатками товаров, обмен ценами, обработка заказов, печать стикеров, загрузка отчетов комиссионеров по API (в том числе Я.Маркет). Подходит для конфигураций Беларуси. Поддержка искусственного интелекта GigaChat

59990 руб.

05.09.2023    8554    128    74    

83

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    15976    13    18    

13

Оплата покупок "Долями" в 1С:Розница 2.3 (для работы с сервисом dolyame.ru)

Сайты и интернет-магазины Платформа 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Готовое интеграционное решение для оплаты покупок Долями в 1C:Розница 2.3. Реализовано в виде расширения. Интеграция сервиса dolyame.ru для приема платежей в рассрочку.

18000 руб.

19.12.2023    1649    13    3    

11

Обмен данными с сайтом. БП 3.0

Оптовая торговля Розничная торговля Сайты и интернет-магазины Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Обмен данными с сайтом на платформе 1С:Битрикс (и подобными) для 1С: Бухгалтерия предприятия 3.0.

12000 руб.

18.03.2019    31589    112    100    

64

Интеграция 1С — Битрикс24. Обмен задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (8.3.18.1289). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    17971    9    15    

13

Универсальный парсер интернет-магазинов

Оптовая торговля Розничная торговля Сайты и интернет-магазины Платформа 1С v8.3 Управляемые формы 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

С того времени, как я начал парсить сайты, прошло много лет. За это время я спарсил более 100 сайтов и записал эти товары в 1С. В итоге на свет появился универсальный парсер, который поможет Вам спарсить интернет-магазин и при этом не написать ни строчки кода.

9600 руб.

19.10.2018    52303    220    101    

112
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. alex_bitti 140 02.09.19 12:08 Сейчас в теме
спасибо, может пригодиться, коротко и понятно
2. ip0593 20 02.09.19 14:42 Сейчас в теме
3. user858803 10.09.19 18:37 Сейчас в теме
жаль что у них нет штрихкода в карточке... а так было бы нааамного удобней.
в частности такое поле есть в еаптеке), можно было бы туда обратить свой взор
4. shura_a 11.09.19 16:35 Сейчас в теме
А как в запросе поменять регион?
Сейчас выдает цены Москвы.
5. ip0593 20 11.09.19 16:37 Сейчас в теме
(4) а если в браузере регион поменять? у меня цены моего региона выходят, но уже не помню, что я дополнительно для этого делал и делал ли вообще.
6. shura_a 11.09.19 16:42 Сейчас в теме
(5) В браузере поменян. а в обработке все равно Москва
7. shura_a 12.09.19 09:13 Сейчас в теме
(5) Может у тебя цена с Москвой совпадает?
8. ip0593 20 12.09.19 09:38 Сейчас в теме
(7) нет, не совпадает, именно для моего региона
9. ip0593 20 12.09.19 09:40 Сейчас в теме
(5) с разных устройств смотрел? может дело в ip-адресе, vpn и т.д.
Оставьте свое сообщение