Мод обработки загрузки характеристик яндекс.маркет

19.01.17

Интеграция - WEB-интеграция

Обработка для загрузки характеристик товара с сервиса "Яндекс.Маркет".

Файлы

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

Наименование Скачано Купить файл
Парсер характеристик яндекс.маркет
.epf 19,70Kb ver:6.1
47 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

С разрешения ltfriend выкладываю модификацию обработки //infostart.ru/public/195029/ для "УТ 10.3"
Отличия: 
Поиск по наименованию номенклатуры из встроенного браузера 
Загрузка происходит как со страницы "описание" так и со страницы "характеристики". 
Картинка загружается с основной страницы товара (раньше не все картинки загружались) 
Решил проблему с часто встречающейся ошибкой: "Ошибка при разборе HTML страницы! Возможно, адрес указан не верно или изменилась разметка страницы источника."

UPD в новой обработке парсинг происходит не через запросы, а из страницы браузера

17.02.15 Переписал обработку - теперь работает с новой разметкой яндекса, но так как яндекс не на весь товар обновил разметку, то реализовал, чтобы парсер работал и со старой версией

13.04.15 поправил код. Код КнопкаВыполнитьНажатие в форме ФормаВыбораСтраницы выложил в комментариях

23.10.15 немного изменился код, подробности комментариях

19.02.16 Поправил код

Пример работы обработки: http://youtu.be/jGNKYdHXeXk

08.10.16 Поправил код, проверил работу на Internet explorex 8 и 11 

19.01.17 Закоментировал код от старой версии маркета, привязал кнопку Яндекс.Маркет  к форме

Вступайте в нашу телеграмм-группу Инфостарт

парсер яндекс маркет загрузка характеристик yandex yandex.market market

См. также

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

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

42700 руб.

03.08.2020    23891    36    24    

28

WEB-интеграция Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Расширение для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

24000 руб.

02.02.2021    22629    68    52    

43

WEB-интеграция Программист Бизнес-аналитик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

17568 руб.

20.12.2024    5869    25    4    

27

WEB-интеграция Загрузка и выгрузка в Excel Программист Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Расширение освободит вас от необходимости вручную обновлять информацию о товарах в группах ВКонтакте. Достаточно задать правила один раз, и система автоматически формирует файлы yml для дальнейшей загрузки в группы в ВК. Вы сможете легко выбирать, какие товары публиковать, создавая гибкие критерии отбора. Например, можно добавить важные для покупателей параметры: цвет, размер или другие характеристики.

12200 руб.

29.08.2025    2391    6    6    

8

WEB-интеграция Системный администратор Программист Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена по API между конфигурацией 1С:Альфа-Авто 6 и порталом LogicStar. Позволяет работать с несколькими обменами LogicStar разных брендов (CHERY, OMODA, JAECOO, EXEED, TENET) в одной информационной базе в ручном и автоматическом режиме. Поддерживается выгрузка заказ-нарядов, реализаций товаров и товарных остатков.

20740 руб.

13.05.2025    1767    2    0    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Yashazz 4913 17.07.14 18:00 Сейчас в теме
Советую: не качайте и не связывайтесь с подобными блоками. Стоит Яндексу поменять DOM или чуть поиграть с форматом, а они это любят делать, так все эти обработки идут в dev/null
2. ewgen87 10 18.07.14 10:44 Сейчас в теме
(1) Yashazz, С такими убеждениями можно и в каменном веке сидеть ничего не менять. У вас есть предложение как загрузить характеристики сотней товаров, с десятками характеристик на каждый товар, при условии изменения формата страницы? По сути - обработка рабочая.
3. luckardo 15 22.07.14 01:48 Сейчас в теме
не пашет УТ 10,3 украина
4. ewgen87 10 23.07.14 17:46 Сейчас в теме
Переработал обработку - теперь парсит сразу

Парсер характеристик яндекс.маркет(рабочая версия)
5. ewgen87 10 30.07.14 14:45 Сейчас в теме
Если у вас ругается на "ЯчейкаТаблицы = КолонкиТаблицы.ДочерниеУзлы[2];" поставьте "ЯчейкаТаблицы = КолонкиТаблицы.ДочерниеУзлы[1];"
6. rebellium 15.01.15 11:58 Сейчас в теме
1С 8.3.5.1098 + УТ 11.1.7.54
Не открывается обработка. Разворачивается пустая область.
7. ewgen87 10 15.01.15 14:54 Сейчас в теме
(6) rebellium, Обработка для "УТ 10.3" для УТ 11.1.7.54 скорее всего работать не будет
8. rebellium 15.01.15 16:25 Сейчас в теме
(7)
А поправить это можно? Прям космически важная и нужная обработка
9. ewgen87 10 16.01.15 13:53 Сейчас в теме
(8) rebellium, Установил для пробы ут 11 - разобраться очень сложно, эту обработку переделывал для себя, а чтобы разобраться в ут 11 нужно много времени. а вот эта обработка у Вас работает: http://infostart.ru/public/153736/ ? она для УТ11
10. rebellium 16.01.15 14:39 Сейчас в теме
(9)
Запускается, но выдаёт ошибку при разборе с основной страницы товара. Видимо из-за разметки Маркета. Если из страницы с характеристиками, то выдаёт ошибкуВ
{(6, 38}): Поле не найдено "ДополнительныеРеквизитыИСведения.ЭтоГруппа"
НЕ ДополнительныеРеквизитыИСведения.<<?>>ЭтоГруппа
11. ewgen87 10 13.02.15 23:31 Сейчас в теме
Изменилась разметка в яндекс.маркет ( буду стараться переделать
12. ewgen87 10 17.02.15 17:46 Сейчас в теме
17.02 Переписал обработку - теперь работает с новой разметкой яндекса, но так как яндекс не на весь товар обновил разметку, то реализовал что-бы парсер работал и со старой версией
13. harlag 04.03.15 13:09 Сейчас в теме
УТ 10.3.30.1 + 17.02.2015.ЗагрузкаХарактеристикТовараСЯндекМаркет
как добавить кнопку "Поиск Яндекс.Маркет" под картинкой как на видео?
14. ewgen87 10 04.03.15 13:38 Сейчас в теме
(13) harlag, Для этого нужно в конфигурацию встроить внешнюю обработку. В справочник Номенклатура на форме "Форма элемента" добавить кнопку. В обработчик событий кнопки добавить

ОбработкаЗагрузкаХарактеристикМаркет = Обработки.ЗагрузкаХарактеристикТовараСЯндекМаркет.ПолучитьФорму("Форма");
ОбработкаЗагрузкаХарактеристикМаркет.Номенклатура = Ссылка;
ОбработкаЗагрузкаХарактеристикМаркет.ОткрытьМодально();


15. ewgen87 10 13.04.15 21:40 Сейчас в теме
Немного поменялся код в яндексе выкладываю код процедуры КнопкаВыполнитьНажатие в ФормаВыбораСтраницы:

Процедура КнопкаВыполнитьНажатие(Кнопка)
  ОбработкаОбъект.ВебСтраница1 = ЭлементыФормы.ПолеHTMLДокумента1.Документ.URLUnencoded;
  ОбработкаОбъект.АдресСсылка = ВебСтраница1;
  НайденнаяСсылка = Найти(ВебСтраница1,"?hid");
  НайденнаяСсылкаСтар = Найти(ВебСтраница1,"model");
  НайденнаяСсылкаШовУид = Найти(ВебСтраница1,"?hid&show-uid");

  Если НайденнаяСсылка > 0 тогда
	   АдресСсылка1 = СтрЗаменить(АдресСсылка,"?hid","/spec?hid");
  	   АдресСсылка2 = СтрЗаменить(АдресСсылка,"/spec?hid","?hid");
	   ВерсияМаркета = Истина;
  КонецЕсли;
   
  Если НайденнаяСсылкаШовУид > 0 тогда
	   АдресСсылка1 = СтрЗаменить(АдресСсылка,"?hid&show-uid","/spec?hid");
  	   АдресСсылка2 = СтрЗаменить(АдресСсылка,"/spec?hid","?hid&show-uid");
	   ВерсияМаркета = Истина;
  КонецЕсли;

  
  Если НайденнаяСсылкаСтар > 0 тогда
	   АдресСсылка1 = СтрЗаменить(АдресСсылка,"model.xml","model-spec.xml");
  	   АдресСсылка2 = СтрЗаменить(АдресСсылка,"model-spec.xml","model.xml");
	   ВерсияМаркета = Ложь;
  КонецЕсли;
  
  Если АдресСсылка1 <> АдресСсылка тогда
	  ЭлементыФормы.ПолеHTMLДокумента2.Перейти(АдресСсылка2);
	  ЭлементыФормы.ПолеHTMLДокумента1.Перейти(АдресСсылка1);
	  Предупреждение("Перенаправление на страницу характеристик. Дождитесь загрузки страницы и нажмите Ок");
  Иначе 
	  ЭлементыФормы.ПолеHTMLДокумента2.Перейти(АдресСсылка2);
	  Предупреждение("Попытка загрузки характеристик");
  КонецЕсли;
  Данные = ЭлементыФормы.ПолеHTMLДокумента1.ПолучитьТекст();
  Данные1 = ЭлементыФормы.ПолеHTMLДокумента2.ПолучитьТекст();
  выполнение = Истина;
  Закрыть();
КонецПроцедуры
Показать
16. ewgen87 10 14.05.15 10:32 Сейчас в теме
UPD 14.05
Яндекс-маркет перешел на https. Для поиска по названию номенклатуры нужно в процедуре "ПриОткрытии()" заменить строку на:
ЭтаФорма.ЭлементыФормы.АдресСсылки.Значение = "https://market.yandex.ru/search.xml?&text=" + Номенклатура.Наименование;
17. ewgen87 10 23.10.15 22:35 Сейчас в теме
UPD 23.10

У Яндекса очередное "супер-мега" обновление:
в названии класса добавилось слово -wrap:
layout__col layout__col_size_p75 product-spec-wrap

Найти в конфигураторе: product-spec
Заменить на: product-spec-wrap
18. ewgen87 10 19.02.16 17:29 Сейчас в теме
UPD 19.02.2016

При точном наименовании номенклатуры (таким-же как в яндекс.маркет) страница переходит сразу в описание, но адресная строка немного другая. Поправил. Должно работать.

Процедура КнопкаВыполнитьНажатие(Кнопка)
  ОбработкаОбъект.ВебСтраница1 = ЭлементыФормы.ПолеHTMLДокумента1.Документ.URLUnencoded;
  ОбработкаОбъект.АдресСсылка = ВебСтраница1;
  НайденнаяСсылка = Найти(ВебСтраница1,"?hid");
  НайденнаяСсылкаСтар = Найти(ВебСтраница1,"model");
  НайденнаяСсылкаШовУид = Найти(ВебСтраница1,"?hid&show-uid");
  НайденнаяСсылкаРедир = Найти(ВебСтраница1,"?was_redir=1&hid");

  Если НайденнаяСсылка > 0 тогда
	   АдресСсылка1 = СтрЗаменить(АдресСсылка,"?hid","/spec?hid");
  	   АдресСсылка2 = СтрЗаменить(АдресСсылка,"/spec?hid","?hid");
	   ВерсияМаркета = Истина;
  КонецЕсли;
   
  Если НайденнаяСсылкаШовУид > 0 тогда
	   АдресСсылка1 = СтрЗаменить(АдресСсылка,"?hid&show-uid","/spec?hid");
  	   АдресСсылка2 = СтрЗаменить(АдресСсылка,"/spec?hid","?hid&show-uid");
	   ВерсияМаркета = Истина;
  КонецЕсли;

  
  Если НайденнаяСсылкаСтар > 0 тогда
	   АдресСсылка1 = СтрЗаменить(АдресСсылка,"model.xml","model-spec.xml");
  	   АдресСсылка2 = СтрЗаменить(АдресСсылка,"model-spec.xml","model.xml");
	   ВерсияМаркета = Ложь;
  КонецЕсли;
   
  Если НайденнаяСсылкаРедир > 0 тогда
	   АдресСсылка1 = СтрЗаменить(АдресСсылка,"?was_redir=1&hid","/spec?hid");
  	   АдресСсылка2 = СтрЗаменить(АдресСсылка,"?was_redir=1&hid","?hid");
	   ВерсияМаркета = Истина;
  КонецЕсли;
  
  Если АдресСсылка1 <> АдресСсылка тогда
	  ЭлементыФормы.ПолеHTMLДокумента2.Перейти(АдресСсылка2);
	  ЭлементыФормы.ПолеHTMLДокумента1.Перейти(АдресСсылка1);
	  Предупреждение("Перенаправление на страницу характеристик. Дождитесь загрузки страницы и нажмите Ок");
  Иначе 
	  ЭлементыФормы.ПолеHTMLДокумента2.Перейти(АдресСсылка2);
	  Предупреждение("Попытка загрузки характеристик");
  КонецЕсли;
  Данные = ЭлементыФормы.ПолеHTMLДокумента1.ПолучитьТекст();
  Данные1 = ЭлементыФормы.ПолеHTMLДокумента2.ПолучитьТекст();
  выполнение = Истина;
  Закрыть();
  КонецПроцедуры
Показать
19. graf1976 07.09.16 14:33 Сейчас в теме
Обработка актуальная? Появилась потребность
20. ewgen87 10 07.09.16 14:50 Сейчас в теме
(19) graf1976, Сегодня проверял - работает, правда желательно пользоваться совместно с обработкой http://infostart.ru/public/14986/ (бесплатная). Так как тут в этой обработке нет проверки на существование такой-же характеристики в реестре, поэтому создается новая, а это нагружает базу. Времени запилить проверку пока нет, поэтому пользуюсь той обработкой для поиска и замены дублей (Объект поиска: СвойстваОбъектов -> по наименованию)
21. ewgen87 10 19.09.16 15:33 Сейчас в теме
19.09 Сегодня заметил, что я.маркет переделал страницу. Как будет время, постараюсь переделать
22. teomen_ 21.09.16 11:32 Сейчас в теме
Автор когда будет время поправить обработку ?
23. ewgen87 10 08.10.16 09:54 Сейчас в теме
(22) teomen_, Поправил обработку, работает с Internet Explorer 8 и 11 (на других не проверял)
24. NN2P 422 16.01.17 10:59 Сейчас в теме
Евгений, большое спасибо за обработку.

УТ 10.3:

- при попытке разбора страницы, снова падает с ошибкой(см. рис.1);

- при изменении размера формы обработки кнопка "Яндекс -маркет" не на своём месте
Прикрепленные файлы:
25. ewgen87 10 16.01.17 14:21 Сейчас в теме
(24)
а страницы, снова падает с ошибк


Добрый день!
К сожалению времени катастрофически не хватает чтобы исправить, попробуйте зайти во вкладку на яндекс.маркет: "Характеристики" потом опять в "Описание" и нажать "Выполнить" и подождать до полной загрузки страницы
26. ewgen87 10 19.01.17 17:44 Сейчас в теме
(24)
Евгений, большое спасибо за обработку.

УТ 10.3:

- при попытке разбора страницы, снова падает с ошибкой(см. рис.1);

- при изменении размера формы обработки кнопка "Яндекс -маркет" не на своём месте
Прикрепленные файлы:


Попробуйте, закоментировать строку:
 //  НайденнаяСсылкаСтар = Найти(ВебСтраница1,"model");


и

 //Если НайденнаяСсылкаСтар > 0 тогда
  //     АдресСсылка1 = СтрЗаменить(АдресСсылка,"model.xml","model-spec.xml");
  //	   АдресСсылка2 = СтрЗаменить(АдресСсылка,"model-spec.xml","model.xml");
  //     ВерсияМаркета = Ложь;
  //КонецЕсли;


У кнопки Яндекс.Маркет не была установлена привязка границ. В свойствах выберите
Установить правила:
Привязать к форме к правой границе и к верхней границе

Форму ни разу не раздвигал, поэтому не обращал внимания
27. teomen_ 31.03.17 10:58 Сейчас в теме
Добрый день, УТ 10.3 постоянна начала выпадать ошибка :

Ошибка при разборе HTML страницы! Возможно, адрес указан не верно или изменилась разметка страницы источника.

Манипуляция : " попробуйте зайти во вкладку на яндекс.маркет: "Характеристики" потом опять в "Описание" и нажать "Выполнить" и подождать до полной загрузки страницы " не помогает...
Для отправки сообщения требуется регистрация/авторизация