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

02.09.19

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Запрос цены товара с сайта apteka.ru:
.epf 7,30Kb
1
1 Скачать (1 SM) Купить за 1 850 руб.

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

 

См. также

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

Готовое интеграционное решение для оплаты покупок Долями в 1C:Розница 2.3. Реализовано в виде расширения. Интеграция сервиса dolyame.ru для приема платежей в рассрочку. Поддерживает работу от разных юридических лиц. Работа: в составе РИБ, отдельно от РИБ, тонкий, толстый клиент, web-клиент (через интернет-браузер).

22440 руб.

19.12.2023    5702    40    11    

37

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

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

36000 руб.

03.08.2020    18157    19    22    

17

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

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23): 1С:Управление торговлей, 1С:Управление Нашей фирмой 3, 1С:Комплексная автоматизация 2, Объединенное решение: Модуль 1С:CRM 3 (3.0.21.3) +1С:ERP Управление предприятием 2. При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

7200 руб.

04.05.2021    20342    13    19    

18

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

Программа позволяет одним кликом настроить сбор цен ваших конкурентов или дилеров в интернете. Автоматически собирает данные результата поиска Яндекса (вам не придется вручную добавлять каждый сайт, за которым нужно следить). Обновление цен происходит по заданному вами расписанию автоматически. Можете легко отслеживать позиции вашего сайта в Яндексе по ключевым словам и фразам. Этот инструмент даст вам лучшее понимание того, как ваша SEO-стратегия влияет на видимость вашего сайта в поисковой выдаче, и поможет вам улучшить контент и структуру сайта для повышения его позиций. Функция доступна во всех тарифах.

19950 руб.

23.09.2019    31150    8    12    

31

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

Модуль выгрузки товаров услуг из 1С для сайта "Авито" раздел "Автозагрузка" выполнена в виде обработки. Обработка подходит для конфигураций УТ, УНФ и Розница. Данная обработка позволяет создавать шаблон с объявлениями для "Авито" - "Автозагрузка".

4200 руб.

07.06.2022    18015    41    56    

43
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. alex_bitti 98 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 и т.д.
Оставьте свое сообщение