ДЛЯ ТОГО, ЧТОБЫ ДОБАВИТЬ ОПРЕДЕЛЕННЫЙ ТЕКСТ ИЛИ КОД К КАЖДОМУ ЦИКЛУ ПОВТОРЯЮЩЕЙСЯ ГРАНИЦЫ ПАРСИНГА, НЕ НАДО ЭТОТ ТЕКСТ ПРОПИСЫВАТЬ В РЕДАКТОРЕ ШАБЛОНА ВЫВОДА!!! ЕГО НУЖНО ПРОПИСЫВАТЬ В НАСТРОЙКЕ ПОВТОРЯЮЩИХСЯ ГРАНИЦ (CTRL+5) ВОКРУГ/СЛЕВА/СПРАВА ОТ [VALUE], А В ШАБЛОН ВЫВОДА ВСТАВИТЬ ЛИШЬ <CD_CYCLE_GRAN_1!>!!!!!!!
Важно знать: Для быстрого добавления любого текста или кода в шаблон повторяющейся границы парсинга пользуйтесь ctrl + стрелка вверх (предварительно выделив добавляемую часть вместе с макросом нужной повторяющейся границы парсинга). Для быстрого добавления макроса DOWNLOADFILE в шаблон повторяющейся границы, поместите курсор внутрь ее макроса в шаблоне вывода и нажмите ctrl+стрелка вверх.
ЕЩЕ ВАЖНО ЗНАТЬ: Для инструмента задания границ парсинга (Ctrl+F1 из вкладки «Контент») есть возможность выбрать движок браузера навигации (что находится в нижней части инструмента). Для этого откройте окно с опциями программы (главное меню — настройка — опции программы (F8)) и во вкладке «Разное» выберите желаемый движок браузера навигации
1) Chromium — современный быстрый браузер (рекомендуется использовать этот движок)
При задании границ парсинга для навигации по коду с использованием Chromium наведите курсор на желаемый элемент WEB страницы (например, картинку) и нажмите кнопку F4
2) Internet Explorer
При задании границ парсинга для навигации по коду с использованием Internet Explorer просто кликните по желаемому элементу WEB страницы (например, по картинке)
PS: Chromium лучше всего работает на Windows 10
Допустим, нужно спарсить все картинки из этого кода:
1 2 3 | BigPic="images/1.jpg" BigPic="images/2.jpg" BigPic="images/3.jpg" |
В этом случае, для парсинга images/1.jpg, images/2.jpg и images/3.jpg нужно задать начало повторяющихся границ парсинга, как BigPic=", а конец, как ". Тогда мы получим следующий результат парсинга:
1 2 3 | images/1.jpg images/2.jpg images/3.jpg |
Где images/1.jpg, images/2.jpg, images/3.jpg – значения трех циклов повторяющейся границы парсинга. Если мы откроем настройку повторяющихся границ (ctrl+5), то увидим в шаблоне каждой повторяющейся границы парсинга (их всего 5) оператор [VALUE], который служит для вывода значения цикла повторяющейся границы. При парсинге на место [VALUE] будут поочередно подставляться наши значения циклов: images/1.jpg, затем images/2.jpg, затем images/3.jpg. Например, для загрузки этих трех картинок, в настройке повторяющихся границ парсинга (ctrl+5 или shift+ctrl+5) нужно прописать макрос DOWNLOADFILE вокруг оператора [VALUE]:
1 | <DOWNLOADFILE>[VALUE]</DOWNLOADFILE> |
Для вывода значений циклов повторяющихся границ парсинга в результирующий файл (при парсинге контента) нужно в редактор шаблона вывода (ctrl+2) в надлежащую позицию вставить следующий(е) макрос(ы):
1 2 3 4 5 | <CD_CYCLE_GRAN_1!> - для вывода всех циклов повторяющейся границы 1 <CD_CYCLE_GRAN_2!> - для вывода всех циклов повторяющейся границы 2 <CD_CYCLE_GRAN_3!> - для вывода всех циклов повторяющейся границы 3 <CD_CYCLE_GRAN_4!> - для вывода всех циклов повторяющейся границы 4 <CD_CYCLE_GRAN_5!> - для вывода всех циклов повторяющейся границы 5 |
А если вы хотите выводить значения каждого цикла повторяющейся границы в разные ячейки таблицы CSV, то необходимо в окне настройки повторяющихся границ парсинга (ctrl+5 или shift+ctrl+5) задать такой разделитель циклов – [CSVCS] (оператор разделителя ячеек при парсинге в таблицу CSV).
Порядок задания повторяющихся границ парсинга:
– если в списке ссылок главного окна программы нет ни одного элемента, то добавьте хотя бы один (F8)
– откройте редактор шаблона вывода (соответствующая кнопка на панели инструментов главного окна программы или ctrl+f2)
– выделите в дереве слева нужную границу парсинга, кликните по ней правой кнопкой мыши и в контекстном меню выберите соответствующий пункт
скриншот 1:
В открывшемся окне задания границ парсинга:
– выделите в коде начало парсинга (откуда хотите брать контент) и нажмите кнопку “задать начало парсинга”
– выделите в коде конец парсинга (до куда хотите брать контент) и нажмите кнопку “задать конец парсинга”
– После задания начала и конца парсинга нажимаем кнопку “готово”
ОДНОЗНАЧНО ВАЖНО УСВОИТЬ:
– Поиск начала границы парсинга выполняется от начала кода WEB документа
– Поиск конца границы парсинга выполняется от найденной позиции начала границы парсинга
– Номера вхождений для начала и конца границы парсинга (отмечены зелеными маркерами на скриншоте 2 (ниже)) устанавливают: какое найденное по счету вхождение определять, как начало или конец границы парсинга
– В начале или конце границ парсинга можно использовать оператор {skip}. Например:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Начало или конец границы парсинга, заданные, как: <div id="product{skip}"> Будет находить: <div id="product_337"> Или: <div id="product_338"> Начало или конец границы парсинга, заданные, как: <div id="product">{skip}<div id="descripton"> Будет находить: <div id="product"> <a href="...">... <div id="descripton"> Или: <div id="product"> <ul><li>...</li></ul> <div id="descripton"> |
скриншот 2:
После выполнения всего вышеперечисленного:
– вставляем макросы заданных границ парсинга в редактор шаблона вывода (двойной клик по границе парсинга в дереве слева или перетаскивание, смотрите скриншот 1)
– выполняем предпросмотр результата парсинга контента (ctrl+f2)
– готово, границы парсинга заданы
Изменение формата вывода повторяющихся границ парсинга:
Для редактирования формата вывода и разделителей циклов повторяющихся границ парсинга используйте “настройку повторяющихся границ” (данная кнопка выделена красным маркером на скриншоте 1).
скриншот 3:
Где [VALUE] – есть значение цикла повторяющейся границы парсинга (макросов [VALUE] может быть несколько в шаблоне каждой повторяющейся границы парсинга).
Если вы хотите ограничить поиск циклов любой повторяющейся границы в определенном участке кода WEB-документа, то задайте обычную границу парсинга (задание обычных границ парсинга) для нужного участка кода и выберите номер заданной обычной границы парсинга в соответствующем выпадающем списке (эти списки отмечены зеленым маркером на скриншоте 3).
Шаблон любой повторяющейся границы парсинга можно вызвать в редакторе шаблона вывода:
скриншот 4:
Для поочередного вывода циклов всех заданных повторяющихся границ парсинга используйте ОДИН макрос шаблона вывода <CD_CYCLE_GRAN_ALL!> вместо <CD_CYCLE_GRAN_1!>, <CD_CYCLE_GRAN_2!>, <CD_CYCLE_GRAN_3!>, <CD_CYCLE_GRAN_4!>, <CD_CYCLE_GRAN_5!> (для изменения разделителей повторяющихся границ и циклов пользуйтесь настройкой повторяющихся границ (скриншот 3)).
Greedy mode:
Например, мы парсим такую WEB-страницу:
1 | ;цикл 1;цикл 2;цикл 3;цикл 4;цикл 5;... |
С которой нам нужно спарсить все циклы, разделенные точкой с запятой, задав начало парсинга – ; и конец парсинга – ;. Для этого, вставьте в начало парсинга повторяющейся границы макрос {greedy} (например: {greedy};).
Если не вставить макрос {greedy} в начало парсинга повторяющейся границы, то спарсятся только циклы: 1, 3, 5. Как видно, будут пропущены циклы 2, 4, так как конец парсинга цикла 1 является началом парсинга цикла 2 (и так далее).
С Greedy mode, начало парсинга следующего цикла может являться концом парсинга предыдущего!
Дополнительно:
– Номер тега начала и конца парсинга (выделены зелеными маркерами на скриншоте 2) в повторяющихся границах парсинга не учитываются;
– Если в тексте начала или конца парсинга есть динамическая часть, которая изменяется от одного документа к другому, то закомментируйте ее макросом {skip} (например: div id={skip});
– Для вывода циклов одной повторяющейся границы парсинга в разные ячейки CSV необходимо в окне настройки повторяющихся границ парсинга (ctrl+5 или shift+ctrl+5) задать такой разделитель циклов – [CSVCS] (оператор разделителя ячеек при парсинге в таблицу CSV) либо [CSVLB] (оператор разделителей строк таблицы);
– В настройку повторяющихся границ (ctrl+5 или shift+ctrl+5) можно прописывать любые макросы шаблона вывода, а так же вставлять оператор [CC], который выводит номер цикла повторяющейся границы;
– Обратите внимание на кнопку [+] на панели инструментов окна задания границ парсинга (скриншот 1). Если ее нажать, то границы парсинга будут парситься в месте с текстом начала и конца парсинга.
Дополнительные материалы:
– Вставка в шаблон одной повторяющейся границы парсинга смежных значений из любых других повторяющихся границ;
– Скачивание нескольких картинок с использованием повторяющихся границ парсинга.
А как вытащить повторяющиеся участки из другой страницы?
<URL=“ССЫЛКА”><START=""НАЧАЛО“:””><END="КОНЕЦ“>
а в “ССЫЛКА”
{{“comment”:”Наименование 1 “},
{“comment”:”Наименование 2 “},
{“comment”:”Наименование 3 “}}
GETMORECONTENT что то не перенеслось
Здравствуйте.
Готов дать расширенный ответ с примерами на форуме http://forum.sbfactory.ru/ (ответ на вопрос системы NoSpam – иАОЕ). Так как ответы на вопросы по функционалу программы даются именно там.
С уважением к вам, Сергей.