Настройки парсинга

Перед нами главное меню вкладки Настройки парсинга. Тут будет происходить самая основная и самая важная часть работы по настройке.

Основные элементы

№1 Блок выбора ссылки - Меню в котором вы можете выбрать код какой страницы отобразить в блоке под номером 2 и показать содержимое в блоке номер 3 для визуального поиска нужных вам элементов. Выбрать ссылку можно при помощи клика на ссылку правой кнопкой мыши.
Обратите внимание что если нажать на номер ссылки которых находится в скобках [10] то в браузере откроется в новой вкладке данная ссылка. Сделано для удобствам тем кто любит работать с кодом непосредственно в браузере.

№2 Блок пред просмотра кода страницы - В данном блоке вы можете видеть код страницы которую вы парсите. Для поиска необходимого элемента в коде можно воспользоватся стандартными возможностями браузера, а именно ctr+F в открывшемся окне вводите текст который ищите и браузере перекинет вас к данному элементу.

№3 Блок предпросмотра страницы - В данном блоке вы можете видеть как выглядит страница с которой будет происходит парсинг. Выбирать нужные вам элементы, допусти название или код товара. Создан для более комфортной настройки параметров парсинга.

№4 Тип границы парсинга - Здесь вы можете выбрать какой вид границы парсинга вы желаете настроить. Далее подробно будет описан каждый из представленных видов границ парсинга.

№5 Название границ - Здесь вы можете указать название границы парсинга которую вы хотите создать.
Так же в этом поле находится кнопка Добавить/Сохранить данная кнопка сохраняет настройки парсинга.

№6 Текст начала парсинга - Здесь вы указываете код начала парсинга. Подробнее сможете увидите в примере настройки параметров парсинга.

№7 Текст конца парсинга - Здесь вы указываете код конца парсинга парсинга. Подробнее сможете увидите в примере настройки параметров парсинга

№8 Выбор границы парсинга - В данном списке вы можете выбрать любую границу парсинга что была создана ранние. Для редактирования удаления, или пред просмотра кода парсинга.

№9 Кнопка [Пред просмотр границы] - Данная кнопка служит для того что бы увидеть правильно ли указаны параметры парсинга. Кнопку можно нажать после того как вы выберите любую ссылку для пред просмотра, затем параметр парсинга. После этого вы можете нажать пред просмотр границ парсинга и в блоке 2 вы уквидите какие данные будут спарсены данной границе парсинга.

№10 Кнопка [Поиск/Замена] - Данная кнопка перенаправит вас к настройки параметров поиск замена. Эта страница будет детально описана далее в инструкции.

№11 Привью сайта - При помощи этой галочки вы можете отключить или включить блок 3 где выводится превью сайта. После отключения блок 2 с исходным кодом страницы станет в два раза больше. Так же это убыстряет работу модуля поскольку не нужно дожидатся рендеринга страницы. Полезно более опытным пользователям.

Обычная граница прарсинга

Обычная граница парсинга это граница которая содержит текст начала парсинга и текст конца парсинга. И в эту границу парсинга попадает один элемента. Обычная граница парсинга берет первое совпадение на страницы и записывает данные в параметр парсинга. Так что если под ваши параметры парсинга попадает несколько элементов будет взят тот что ближе всего к началу код страницы.

Пример настройки

В дереве справа выберете ссылку и кликните по ней левой кнопкой мыши, если в списке ссылок нет ни одного адреса, то добавьте хотя бы одину.

По нажатию на адрес в списке откройте редактор шаблона вывода кликните по нему правой кнопкой мыши затем на клавиатуре нажимаем комбинацию Ctrl + F, в браузере откроется строка поиска в нее вводим что ищем например Код (в нашем случае это Артикул) поиск подсветит все найденные совпадения в редактор шаблона вывода.

Выделяем в коде начало парсинга (откуда хотите брать данные) копируем его <small>(Код: и вставляем его в поле Текст начала парсинга также поступаем и с конецо парсинга ( выделяем до куда хотите брать данные) и вставоляем в поле Текст конца парсинга таким образом мы модулю скажем откуда брать данные и где нужно остановится.

После задания начала и конца парсинга выполняем предпросмотр результата парсинга нажимаем кнопку «Предпросмотр границ» Убедившись что все впрорядке нажимаем на кнопку создать в поле имени границ парсинга или сохранить если граница уже создана



И так можно указать сколько угодно границ парсинга.

Повторяюшаяся граница парсинга

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

Например мы соберемся собрать все дополнительные фотото товара из кода:

        
          <div class=images>
            <div class=" image-additional img-thumbnail-transparent photobox">
              <a class="thumbnail " href="image/cache/data/led/12/133649844_w640_h640_img_088-800x800-w-30-0-0.jpg" ...>
                <img src="image/cache/data/led/12/133649844_w640_h640_img_088-90x90.jpg" .../>
              </a>
            </div>
            <div class=" image-additional img-thumbnail-transparent photobox">
              <a class="thumbnail " href="image/cache/data/led/12/133649847_w640_h640_img_109-800x800-w-30-0-0.jpg" ...">
                <img src="image/cache/data/led/12/133649847_w640_h640_img_109-90x90.jpg" .../>
              </a>
            </div>
          </div>
        
      

Для того чтобы получить 33649844_w640_h640_img_088-800x800-w-30-0-0.jpg и 133649847_w640_h640_img_109-800x 800-w-30-0-0.jpg указываем начало повторяющихся границ парсинга, как <a class="thumbnail " href=" а конец, как ". Тогда мы получим

        
          133649844_w640_h640_img_088-800x800-w-30-0-0.jpg
          133649847_w640_h640_img_109-800x800-w-30-0-0.jpg
        
      
Повторяющейся границы внутри обычной границы парсинга

Допустим нам нужно собирать повторяющимися границами допонительные фото товара которые находятся между <a class="thumbnail " href=" и ". Если вы зададите начало повторяющейся границы, как <a class="thumbnail " href=" и конец, как ", то в результат обработки попадут все картинки с страницы (так как все они содержатся между <a class="thumbnail " href=" и ").

Чтобы ограничить поиск указанных повторяющихся границ только в определенной части кода, например, в <div class=images>…</div>, то создаем простую границу парсинга и указываем вней <div class=images>, а ее конец, как — </div> И сохраняем. Затем при создании новой границы выбираем Повторяющий границы парсинга В после Область для повторяющей границы парсинга выбираем зарание заготовленную обычную границу парсинга. В моем случаи это Доп фото Границы. В после текст начала и конца парсинга указываем <a class="thumbnail " href=" и соотвецтвенно "
После чего нажимаем пред просмотр и можем видеть как модуль распарсил все фото. Поле разделитель необходимо что бы указать модулю каким символом отделять первое вхождение при парсинге от второго.

Настройка CSV

На этой вкладке вы задаете структуру будущего прайс листа. Указывая имена колонкам, и какие данные будут записаны в эти колонки. В роли данных выступают параметры парсинга что мы настроили ранее.

Основные элементы страницы

№1 Пауза парсинга - При сборе ссылок ваш сайт будет обращаться на сайт донор скачивать страницу парсить ее затем брать следующую ссылку и повторять процесс. Если делать много запросов сайт донор забанит вас за аномальную активность. При парсинге модуль может и по 3 страницы в секунду просматривать, согласитесь человек так не может. Эта настройка предназначена для создания паузы между запросами. После того как скачалась первая страница и собрались все ссылки с нее, модуль сделает паузу перед следующим запросом. Время указывается в секундах.

№2 Название прайс листа - Здесь вы можете указать название прайс листа в который будет сохранены все данные после парсинга.
Прайс листу будет располагаться в директории /admin/uploads/название.csv
Названии прайс листа указывать расширение ненужно.

№3-4 Разделитель, Экранирование - Разделитель и Экранирование это параметры csv файла, определяет как указатель смены ячейки, и ограничитель ячейки. Это необходимо для формирования csv файлов под разные редакторы и требования. По умолчанию все настроено для 99% пользователей. Если вы не понимаете что это просто не меняйте.

№5 Название колонки в прайс листе CSV - Здесь вы указываете название колонок прайс листа.

№6 Параметр парсинга - В данном списке вы сможете выбрать какие данные будут записаны в ту или иную колонку. В списке видны параметры парсинга которые вы задавали на странице настройки парсинга.

№7 - Здесь вы можете перейти в настройки поиск замена. Подробнее про поиск замену будет написано позже.

№8 - В данном блоке показан список ссылок который доступен для парсинга. Так же здесь вы можете добавить новые ссылки. Так же можете после добавления нажать на применить фильтры, что бы модуль добавленные вами ссылки еше и пропустил по фильтрам сбора ссылок. Так же есть кнопка Перезагрузить ссылки если вы начали парсинг товаров интернет магазина и через некоторое время обнаружили что то настроено не правильно вы можете поправить настройки, затем нажать перезагрузить ссылки и после запустить парсинг с самого начала.

№9 - Здесь все просто, после того как вы настрогаете блоки 5 и 6 вы можете выбрать любую ссылки из выпадающего меню и нажать пред просмотр. И увидеть как будет спарсена информация с этой ссылки в виде сроки экселя. Пред просмотр будет выведен в блоке 10

№10 - Блок пред просмотра, виден после того как выберите ссылку и нажмете кнопку пред просмотр.

Подытожу. Основное это блоки 5-6 здесь вы добавляете необходимое количество колонок прайс листа. В блоке Название колонки в прайс листе CSV даете имена каждой колонке, а в после Параметр парсинга выбираете какие данные будут записаны в эту колонку. Для примера настройки которые видны на скриншоте выше, в прайс листе будут представлены вот в таком виде.

Парсинг в ИМ

Ну вот вы и дошли до самого сложного интересного. Заварите чай и начнем знакомится с данной вкладкой.
Эта вкладка наверное самая сложная для описания всех возможных вариантов настроек. Честно говоря я сам до конца не знаю все варианты событий которые можно сделать при помощи этих настроек. Это может звучит глупо, но это правда.
Суть в том что я потратил много времени на записывание и реализацию всех возможных вариантов парсинга, и пришел к выводу что луче создать много маленьких инструментов которые в последствии можно будет между собой смешивать. Больше 60% всех задумок я отказался реализовывать в начальной версии 2.0 сильно много времени уходит. Но я их реализую постепенно.

Знакомство с интерфейсом.

1. Действие

Вы можете выбрать три типа действий которые будет выполнятся. 

  • Добавление нового товара.
  • Обновление товара
  • Добавление и Обновление товара.
2. Идентификатор товара

Вы можете выбрать в качестве идентификатора товара один из трех вариантов.

  • Код товара (он же model)
  • Артикул (поле sku)
  • Название (Поле name) Обратите внимание что использование имени товара в качестве идентификатора не рекомендуется, может привести к появлению дублей товара, или обновлению не того товара что вам нужно. Имя является не уникальным значением.

Это поле будет использоваться для определения товара в магазине.
Допустим вы выбрали идентификатором Артикул (sku) и выбрали действие добавлять товар, если товар с таким артикулом уже есть в магазине модуль его не добавит.

Если товара с таким артикулом нету в магазине, тогда модуль создаст это товар.
То же самое касается действия обновить. Если есть то товар обновится, если нет тогда модуль пропустит данный товар.
Что касаемо действия Добавлять и обновлять, все аналогично. Только если товара нет он создастся если есть обновится.

3. Пауза
Вы можете указать любую цифру от нуля. и до ....
0 - Это значит что при парсинге паузы не будет. Но если вы укажите к примеру 3 - тогда после парсинга одной ссылки модуль будет замирать на 3 секунды. По истечению 3 секунд приступать к парсингу следующей ссылки.
Это необходимо что бы создать видимость что вы обычный пользователь который смотрит сайт. Много сайтов могут банить вас за аномальную активность, и это функция первый шаг в сторону обхода блокировок.

4. Вывод количество ссылок
В данном поле вы можете видеть сколько ссылок на парсинг у вас есть, и сколько ссылок спарсено.
Ссылок в очереди: 150 - Количество не обработанных ссылок.
Обработано ссылок: 0 - Количество спарсенных ссылок.
В данном примере можно видеть что еше не запускался парсинг, и обработанных ссылок 0

5. Кнопка Пред просмотр.
При нажатии на кнопку пред просмотр вы будете перенаправлены на страницы пред просмотра товара. Полезная страница что бы проверить свои настройки, и произвести корректировки.

6. Кнопка Поиск замена
При нажатии вы будете перенаправлены на страницу настроек поиск замена.

7. Кнопка Перезагрузить ссылки.
При нажатии данной кнопки все ссылки которые были уже спарсены, и находятся в красном списке Обработано ссылок будут снова добавлены в список Ссылки в очереди. Это необходимо для того что бы произвести повторно действие по всем собранным ссылкам. Допустим для ежедневного обновления информации в вашем магазине.

8. Блок с данными.
В данном блоке представлены все данные с которыми работает модуль. На данный момент.
Обратите внимание здесь нету поля опции, потому что в версии 2.0 модуль не умеет работать с опциями. Данный функционал уже разрабатывается.

9. Блок настроек.
Здесь представлен блок настроек, у каждого поля из пункта 8 есть свои настройки. И сейчас мы о них детально поговорим.

10. Кнопка Обновить страницу.

11. Кнопка Сохранить настройки.
Нельзя покидать вкладку Настройки парсинга в ИМ не нажав на данную кнопку. Все настройки которые не были сохранены при переходе будет удалены.

12. Остановка парсинга.
Если вы запустили парсинг, данной кнопкой вы можете остановить процесс. После повторного нажатия на кнопку старт, модуль продолжит работу с того места где остановился.

13. Запуск парсинга.
После того как настроите все поля может нажимать и модуль начнет загружать, или обновлять товары

14. Прогресс бар.
В момент парсинга вы можете наблюдать сколько ссылок обработано, а сколько еше осталось. Эта строка загрузки показывает вам наглядно процесс выполнения работы модулем.
Обратите внимание что прогресс бар появляется только когда вы нажимаете старт парсинга, и исчезает когда вы жмете Пауза парсинга.
Основное знакомство с интерфейсом закончили

Настройки полей данных: Артикул, Название, Цена и т.д.

Это самая интересная часть настройки. Ниже я разберу настройку всех полей. Но перед тем как перейти к разбору настроек вам нужно понять пару важных моментов.
С них я и начну.

Я поделил данные в товаре на два типа.

  • Простые
  • Сложные.

К простым относятся такие данные как
  • Код товара [model]
  • Артикул [sku]
  • Название
  • Цена
  • Количество
  • Производитель
  • Описание 
К сложным данным я отнес:
  • Категории
  • Фото
  • Атрибуты

Разница в том что у категории простые, может быть просто строка. То есть, название, Или просто цифра цены. Или название производителя. Текст описания.

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

У категории сложные все иначе. Поскольку к примеру изображения может быть 1 а может быть и 100, также категория может быть одна, а может быть целая структура.
Атрибуты так вообще там одна часть данных должна говорить что будет именем атрибута, а что его значением.

Для этого я разработал вот эту строку, она универсальная.

К примеру вы можете записать в это поле слово Привет мир! И все товары которые будут парсится получат название Привет мир!

Вот пример.

Вот пример.

Но туда можно подсовывать данные парсинга, которые вы настраиваете на второй вкладке.

Для этого вам нужно написать {gran_id}

Где id это номер параметра парсинга что вы настраивали на вкладке Настройка парсинга.

Я понимаю что это кажется чем то сверх сложным но для удобства я создал вам выпадающий список где вы можете увить Название границы парсинга, их id и когда вы выбираете границу она автоматически заполняет полу. То есть вручную вам ничего прописывать не нужно!

Но если хочется, вы можете это делать вручную, я не хотел вас ограничивать :)

Как заполнить разобрали теперь к самому веселому переходим.

Можно в данном поле использовать как границы парсинга, так и текст введенный вручную. Так и вперемешку!

То есть допустимо любой вариант заполнения.

К примеру в название указать не одну границу парсинга, а вот так.

{gran_82} | От производителя = {gran_94} | По цене = {gran_83}

Результат будет такой. 

И это касается всех полей. Имени, артикула, или фото. Вообще всех.

Вы теперь можете парсить несколько описаний в магазине миксовать их и заполнять себе в одно описание. Я даже не представляю все варианты использования но мне кажется их просто неимоверно.

Если в поле имени, или цены, или артикула (то есть поля для простых данных) вставить повторяющуюся границу парсинга, все значения этой границы склеятся без разделителя и запишутся в это поле.

Пример
Так теперь переходим к сложным данным.

Объясню на примере Изображений

Изображение может быть одно, а можете быть и сто. Значит ссылка на каждое фото должна быть отдельно определена.

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

Для этого мы используем спец разделитель {csvnc} Для сложных данные все тоже самое. :) Вуаля, все кто пользовался модулем первой версии можете выдыхать вы уже на коне !

Для того чтобы загрузить много фото вам нужно разделить их {csvnc} и все равно на каком этапе вы это сделаете.

Можете через повторяющие границы парсинга, или через поиск замену какой то кусок кода заменить на {csvnc} 

Настройки повторяющихся границ парсинга

Настройки повторяющихся границ парсинга

Поиск замена

Или даже напрямую в поле прописать

{gran_id}{csvnc}{gran_id} - И это тоже будет работать.

Одним словом не важно как вы это добьетесь. Решайте сами в какой ситуации как вам поступать удобнее. Гибкость наше все

Так же обратите внимание что в настройках повторяющихся границ не обязательно указывать {csvnc} Все разделители по умолчанию в парсинге в им, считаются как {csvnc} сделано для того что бы одни и теже границы можно было парсить как в файл, с своим разделителем, так и в магазин. Все для вас.

Я думаю главный сообщение я смог до вас донести.

Разбор настройки полей парсинга в ИМ


Код товара

Формируется как простые данные.

Действие работают только при добавлении нового товара. Пока не придумал обновления поля model но будет, хочу собрать пожелания пользователей.

Доступные действия:

Создавать по умолчанию - При создании по умолчанию в поле Код товара, она же model будет записан id товара.

Парсить - Тут все просто что спасите то и запишется.


Артикул (sku)

Относится к простому типу.

Действие работает только при обновлении товара.

Обновлять

Не обновлять


Название

Относится к простому типу.

Действие работает только при обновлении.

Обновлять

Не обновлять


Цена

Относится к простому типу.

Действие работает только при обновлении.

Обновлять

Не обновлять


Количество

Относится к простому типу.

Действие работает только при обновлении.

Обновлять

Не обновлять

Значение по умолчанию

Это поле используется если основное не заполнено, либо если в момент парсинга на определенном товаре не было обнаружено нужных данных по границе парсинга, что вы указали. Но можно как на скриншоте в основное поле просто вести значение и не парсить, и тогда все товары получат это значение.


Производитель.

Относится к простому типу данных.

Действие

Создать/Добавить/Обновить - Действие работает как при добавлении, обновлении товара. В магазине будет создан производитель, если такого не было раньше. И товар будет привязан к своему производителю.

Только обновлять - Действие работает только при обновлении товара, если в магазине есть уже производитель то он привяжется к товару. Новые модуль создавать не будет. 

Нет - Не производить никаких действий с производителем. Ни при обновлении ни при добавлении товара.


Описание

Относится к простому типу данных.

Действие работает только при обновлении.

Обновлять

Не обновлять

Значение по умолчанию

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

По умолчанию
Вы можете указать описание которое будет использовано по умолчанию если на странице донора не будет описаний.

Либо если настройки прасинга описаний не указаны.


Категории

Относится к сложным данным.

Действие

Создать новые | Привязать товар - выбрав этот пункт модуль создаст категории которые вы парсите. Работает при добавлении и обновлении.

Привязать товар | Не создавать новые - Модуль разместит товар только в тех категориях которые у вас созданы, и совпадают с теми что вы парсите. При обновлении если придут новые категории и у вас их нет, то категория в товаре не обновится. При добавлении товара если такой категории нет тогда товар создастся но не будет привязан ни к одной категории. 

Не создавать новые | Не обновлять [Не рекомендую, товар получит категорию с id = 0] - При создании и товар не будет размешен ни в одной из существующих категорий.

По умолчанию
Вы можете выбрать категорию которая есть у вас в магазине и все товары которые вы парсите если нету данных по категориям получат эту категорию.

Либо если настройки категории не указаны.


Фото

Относится к сложным данным.

Действие

Добавить при создании - Создает товар с фото.

Добавить при создании и обновлении товара - Добавит фото в все новые товары. А при обновлении к уже существующим товарам добавит доп фото.

Обновлять [Заменит все фото у товара][Изображения не удаляются с сервера!] - Заменит фото в товаре при обновлении. Обратите внимание что физически изображения не удаляется, потому что мы не знаем привязано это изображение к другим товарам или нет. 

Нет - не работать с фото.

По умолчанию можно задать фото которое будет использоваться в случаи отсутствия фото на сайте доноре.

Директория для фото - Здесь вы указываете в какую папку складывать фото что парсятся.

Все фото размешаются по стандарту опенкарт в директории /image/catalog/ . Директории вручную создавать ненужно модуль сам создать если их не будет.

Допускается возможность в вода много уровней. К примеру можно в вести product и все фото что парсятся будут размешены в директории /image/catalog/product/

А можно указать так. /product/women/short/ и все фото будет размешены в директорию /image/catalog/product/women/short/

Подпапки

Значение Да значит в что в той директории что вы указали в поле Директория для фото , будут созданы под директории с именами 0,1,2,3,4,5,6,7,8,9

И все изображения будут размешены в этих директориях. Это нужно что бы снизить нагрузку на дисковую подсистему, если у вас много изображений и товаров.

Для того чтобы модуль мог скачать фото, ему нужно скормить границу парсинга в которой будет полный путь к фото. С http ...

Этого можно добиться используя поиск замену, и вставляя в начала границы доменное имя донора. Поскольку как правило у доноров относительный путь к к фото без указания доменного имени.


Атрибуты

Относится к сложным данным.

Действие

Создать/Добавить/Обновить - Создает новые атрибуты. Добавляет в товар при обновлении, и добавлении товара.

Добавить/Обновить - Добавляет в товар атрибуты которые уже есть в магазине, и обновляет значение тех что есть у товара.

Обновить [Только существующие в товаре] - Если в товаре создан атрибут, и он есть на сайте доноре, то его значение модуль обновит.

Удалить из товара создать заново - Удаляет атрибуты из товара. И записывает заново что есть на сайте доноре.

Нет - Не работать с атрибутами.

Нюансы

Для того что бы модуль правильно создал атрибут и присвоил ему значение нужно данные парсинга атрибутов привести к виду.

Название{csvnc}Значение{csvnc}Название{csvnc}Значение{csvnc}Название{csvnc}Значение

Выглядит страшно, но делается просто

Либо через повторяющие границы парсинга, либо через поиск замену.

Я сделал в последнем примере так.


Поиск/замены

Поиск/Замена это один из важных инструментов данного модуля, очень сложно переоценить возможности которые дает этот функционал. И еше сложнее описать все возможные варианты использования.

Для того что бы перейти в раздел настройки поиск замена вам необходимо нажать на кнопку с шестеренками рядом с границей парсинга на странице настройки CSV

Основные элементы страницы

№1 - В данном блоке представлены все границы парсинга что есть в этой проекте. Для того что бы видеть какую границу вы настраиваете (Она подсвечена зеленым), и иметь возможность перейти к любой другой границе в пределах проекта.
Повторяющие границы парсинга имеют в названии символ @ так же повторяющиеся границы парсинга выводятся в снизу списка.

№2-3 Добавить в начало и Добавить в конец - Если вам необходимо добавить какой то текст перед данными что спарсит эта граница парсинга, вы можете указать это в поле Добавить в начало. Допустим зачастую на сайте когда вы хотите спарсить ссылку на фото вы видите относительный путь к изображению , а не полный.
К пример: image/cache/data/led/0_led_diod_solu/15240/133630120_w640_h640_img_027_result-800x800-w-30-0-0.jpg По данной ссылке вы не сможете открыть изображение потому что не хватает доменного имени. Но записав доменное имя в поле Добавить в начало https://svetavto.com.ua/ то вы на выходе получите https://svetavto.com.ua/image/cache/data/led/0_led_diod_solu/15240/133630120_w640_h640_img_027_result-800x800 -w-30-0-0.jpg
По тому же принципу работает Добавить в конец только добавлен происходит после того как произойдет парсинг.

№4 Правила поиск замены - Поле для вода правил поиск замена. Основное поле этой страницы. Как составляются правила будет описано отдельно в разделе Составление правил поиск замена.

№5 Исходный текст - В данное поле вы можете ввести любой текст что бы проверить как работает ваше правила поиск замена. Для проверки вам нужно нажать на кнопку Преобразовать. Результат модуль выведет в поле №6 Текст после обработки

№6 Текс после обработки - В данном поле после нажатия кнопки Преобразовать вы увидите текст из поля Исходный текст преобразованный правилами которые вы записали в поле Правила поиск замены.

№7 - В выпадающем списке можете выбрать любую ссылки и нажать на спарсить границу. В данном случаи модуль спарсить выбранную границу и запишет в поле Исходный текст после чего вы можете нажать на преобразовать что бы увидеть как это граница парсинга будет преобразована вашими правилами.

№8 Кнопка [Преобразовать] Преобразовывает текст из поля Исходный текст в Текст после обработки при помощи ваших правил из поля Правила поиск замены

Для наглядности допустим мы нам нужно Изменить ссылку получения главного фото товара

  • Выбираете ссылку в выпадающем списке. И жмете спарсить границу. И то что эта граница парсить вы получите в поле Исходный текст.
  • Жмете преобразовать, и к тексту из поля Исходный текст применяются ваши правила из поля Правила поиск замены, а затем результат выводится в поле Текст после обработки
Пришло время описать синтаксис поля поиск замена.

1. Каждое правило записывается с новой строки.
2. Если вы хотите заменить что то то вы указываете что заменить затем Прямой слеш и на что заменить. К примеру давайте заменим Дима на Богдан правило будет выглядеть так.
Дима|Богдан

На скриншоте выше видно как я меняю строки на пустоту. НА НИЧЕГО. То есть просто удаляю.
cache/|
-800x800-w-30-0-0|

Если вам нужно будет заменить символ | на что то к примеру на !
Вам нужно будет перед символов | поставить экранирующий символ то есть \| вот такое написание модуль будет рассматривать как просто символ | который нужно заменять.
То есть Экранирующий символ в этой функции \
Все сделано в классическом стиле экранирующего символа

Так давайте для примера заменим в артикуле первые 2 нуля на слово привет. 
Пишем
00|привет
и сохраняем.

И давайте на последок уберем html теги с описания. 
Добавляем в Поиск/Замену границы парсинга ОПИСАНИЕ следующий текст.

        
          <p>|
          <br/>|
          <br/>|
          </p>|
        
      

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

Да что угодно в принципе.

Синтаксис команды Описание
Дима|Богдан Здесь все что находится по левую строну от | заменяется на то что находится по правую сторону.
В данном случаи все слова Дима будет заменены на Богдна
{skip} Данный оператор обозначает любой символ или символы, в любом количестве. Но может и не быть ни одного символа.
Как то так. На примере будет понятнее, удалим все html теги из границы: <{skip}>|
{br} Данный оператор обозначает перенос строки. То есть указан его можно заменить все переносы строки на отступ
или еше что то. Данные операторы можно применять в первой части правила до |
Пример : {br}|Перенос Заменит переносы на слово "Перенос"
{csvnc} Оператор обозначает переход на новую ячейку. То есть сдвиг в экселе на одну ячейку в право.
Это нужно для формирования прайс листа с загрузкой категорий, или атрибутов.

Допустим раньше через поиск замену, или повторяющиеся границы парсинга мы могли добиться такой записи в ячейке.
Главная|LED (Светодиоды)|Светодиоды в габаритные огни
Где символ | разделитель значений. Дальше шли в эксель и через функцию Данные -> Текст по столбцам -> Разделитель |
Мы делали прайс который уже можно было скормить аоп.

Теперь если указать {csvnc} Как разделитель вместо | модуль сам разделит значение по ячейкам эксель.
Попробую на примере атрибутов показать.
Как было раньше.
Мы получаем вот такой кусок кода с атрибутами.

Затем через поиск замену можем преобразовать ячейку атрибутов до такого вида.

        
          <th colspan=2>{skip}</th>|
          <td>Код товара:</td>{skip}</tbody>|
          </td>||
          <{skip}>|
          {br}|
        
      

И получим уже такой результат.

С данной таблицей уже можно работать, разделить ее через эксель и грузить через АОП
Но с появлением оператора {csvnc}
Заменяем правило поиск замены </td>|| на </td>|{csvnc}
То есть вот так

После чего на выходе вы получите эксель документа вот такого вида.

Где все атрибуты идут по очереди, ровно так как модуль АОП любит принимать. Все нечетные номера колонок это значение атрибутов. А четные их названия.




Конец

Извиняюсь за инструкцию. :(
Создания инструкции можно соизмерять с написанием самого модуля. И сделать качественную документацию довольно сложно.
Здесь я попробовал описать все, но знаю что вышло описать только 30% возможностей модуля. Инструкция будет динамично развиваться и какой она будет дальше зависит от вас.

Пред просмотр парсинга в Интернет магазин

Данная страница несет только ознакомительный характер. Она ничего не меняет у вас в магазине.
При помощи этой страницы вы можете оттачивать настройки парсинга в интернет магазин.
Когда настройки будут готовы и результат выводимый здесь вас устроит нажать заветную кнопку старт парсинга, на вкладке настройки парсинга в ИМ.

При заходе на на страницу Пред просмотр вы будете видеть стандартные пустые поля.

Вот так:

Но после того как вы выберите ссылку для пред просмотра и нажмете зеленую кнопку Пред просмотр страница преобразится

При условии что вы правильно настроили границы парсинга, и выбрали поля на вкладке Настройка парсинга в ИМ, а если нет то как раз здесь вы увидите результат вашей работы.

Здесь вы можете просмотреть настройку парсинга.

  1. Название товара.
  2. Производитель.
  3. Артикул (sku) не путать с кодом товара.
  4. Количество товара. 
  5. Цена товара. (всегда указывается в Руб.) Это не значит что у вас в магазине товар будет в рублях, это просто для наглядности. Если у вас валюта стоит грн, доллар или евро, то при парсинге цена будет указана в той валюте которая включена в магазине.
  6. Категории. Вот как вы видите так товар и загрузится к вам. Сравнение категорий идет по всей структуре, а не только по младшей категории.
  7. Главное изображение товара.
  8. Дополнительные изображения. Хотя доп изображения может быть неограниченное количество. Просто в этом примере только три изображения.
  9. Описание.
  10. Атрибуты

Логи

Сейчас в логи пишутся сообщения об создании товара, создании новых категорий, атрибутов, об загрузке изображений.
Как это выглядит вы можете видеть на скриншоте ниже.
изображение на доработке
При обновлении товара вы получите более полные логи о том какие действия производил модуль.
изображение на доработке

Интерфейс

Здесь все довольно просто. У вас есть три копки.
изображение на доработке

  1. Обновить логи, то есть что бы модуль загрузил все новые логи. Если вдруг у вас в одной вкладке идет парсинг, а в другой вы в режиме реального времени будете просматривать лог работы модуля.
  2. Скачать лог файл. Из за особенности работы веб протокола я ограничил просмотр лог файлов которые весят более 5мб Но вы можете скачать такой файл себе, и открыть лобым удобным редактором.
  3. Очистить логи. (думаю здесь пояснения не нужны.)

В модуле SimplePars вы можете создавать сколько угодно проектор и парсить любое количество сайтов доноров. По этому каждый проект имеет отдельные логи.
Допустим у вас два проекта, и в них вы парсите разные сайта. Так вот у каждого из проектор свой отдельных лог файл.

 Логи размешаются в стандартной для Оpencart директории, а именно /system/storage/logs/simplepars_id-3.log
 Где цифра 3 это id проекта который записывает логи в этот файл. Таких файлов будет столько сколько у вас проектов.

Теперь давайте разберем основные логи.

                
2019-04-02 23:16:19| Парсинг : УСПЕШНЫЙ ЗАПРОС Код ответа [200] Ссылка | https://svetavto.com.ua/index.php?route=product/product&path=59&product_id=2334
2019-04-02 23:16:19| ->[ОБНОВЛЕН ТОВАР] ID = 1427 | Идентификатор sku = [005954]
2019-04-02 23:16:19| -->Обновление | Название = LED H11-H8 Type 15 CSP C-N_30W, 4000Lm_5700K (комплект)
2019-04-02 23:16:19| -->Обновление | Цена = 700
2019-04-02 23:16:19| -->Обновление | Количество = 999
2019-04-02 23:16:19| -->Обновление | Производитель id = 23
2019-04-02 23:16:19| -->Обновление | Описание = {описание в логи не пишется}
2019-04-02 23:16:19| -->Обновление | Категория id = 211 Адрес = LED (Светодиоды)
2019-04-02 23:16:19| -->Обновление | Атрибут обновлен в товаре Производитель: = CYCLON
2019-04-02 23:16:19| -->Обновление | Атрибут обновлен в товаре Цоколь = H11-H8
2019-04-02 23:16:19| -->Обновление | Атрибут обновлен в товаре Напряжение  = 12-24V
2019-04-02 23:16:19| -->Обновление | Атрибут обновлен в товаре Тип св. элемента = CSP
2019-04-02 23:16:19| -->Обновление | Атрибут обновлен в товаре Драйвер (cтабилизатор напр.) = Да
2019-04-02 23:16:19| -->Обновление | Атрибут обновлен в товаре Степень защиты = IP65
2019-04-02 23:16:19| -->Обновление | Атрибут обновлен в товаре Комплектность = 2 шт.
2019-04-02 23:16:19| -->Обновление | Атрибут обновлен в товаре Световой поток = 4000 Lm
2019-04-02 23:16:19| -->Обновление | Атрибут обновлен в товаре Потребляeмая мощность = 30W
              
            

Первым всегда приходит ответ от сервера откуда мы парсим. Либо удача либо нет.
В данном случаи:
2019-04-02 23:16:19| Парсинг : УСПЕШНЫЙ ЗАПРОС Код ответа [200] Ссылка | https://svetavto.com.ua/index.php?route=product/product&path=59&product_id=2334 

Далее уже идет сообщение, либо обновления товара либо добавление нового. Такие строки начинаются с ->
Здесь вы можете узнать об обновлении или добавлении нового товара. Его id в магазине, и его идентификатор. Идентификатор может быть как
Артикул (sku)
Код товара (model)
Название товара (name) - не рекомендую использовать определение товара по имени. Это может привести к дублям товаров, и обновлением не тех товаров. Такой подход легко поможет вам найти этот товар в интернет магазине

Так же под символом -> идут сообщения при скачивании фото, создания производителей, атрибутов, категорий, и тому подобное.

В случаи отказа добавлять новый товар или обновлять товар строка будет начинаться с !->
При таком подходе вы всегда сможете нажать в браузере ctrl+f и найти все негативные логи. То есть неудачи в работе с товаром.

Далее идут логи начинающиеся с --> это уже локальные задачи которые решает модуль.
Как правило это логи обновления. И здесь вы можете видеть что конкретно изменял модуль в конкретном товаре.

На данный момент система логов в модуле только начинает становится на ноги, и я начинаю немного разбираться в этой теме и искать более удобные решения.
Хотелось сделать так что бы пользователь мог всегда получить прозрачную информацию о работе модуля, и ему не приходилось разбираться в FTP и искать эти логи. Они должны быть под рукой потому что это очень полезный инструмент.