Сегодня хочу поделится с Вами небольшим, но очень полезным динамическим плагином. Он позволит Вам получить в одно поле несколько значений, т.к по умолчанию Датакол этого сделать не может.
Итак, что нам для этого нужно:
1. Создаем поле (если еще его нет) и выставляем тип поля «Спец поле»
2. Выставляем Спец значение «Код страницы»
3. Открываем вкладку «Дополнительно», в блоке «Динамический плагин Обработки поля» ставим галочку «Активен» и нажимаем кнопку «Редактировать»
4. Далее импортируем плагин «Several_values_in_one_DynPlug_simple.zip» (ссылка в конце поста)
Рассмотрим его работу на тестовом сайте Датакол. А именно на товаре http://demo-ru.webasyst.net/shop/product/iphone/. Например, нам нужно в одно поле взять название товара и его цвет и записать это через дефис. В нашем случае должно выйти «iPhone — черный».
В плагине используем 2 переменные (reg1, reg2) для 2х регулярных выражений соответственно:
string reg1 = Regex.Match(s, "<h1>([^<>]*?)</h1>", RegexOptions.IgnoreCase | RegexOptions.Singleline).Groups[1].Value;
string reg2 = Regex.Match(s, "Цвет:[^<>]*?</td>[^<>]*?<td>[^<>]*?<b>([^<>]*?)</b>", RegexOptions.IgnoreCase | RegexOptions.Singleline).Groups[1].Value;
У нас в переменной «s» хранится весь код страницы, далее в кавычках наши регулярные выражения (если в выражениях присутствуют кавычки — то их экранируем \»). В переменные reg1, reg2 сохраняются значение в первых скобках. За это отвечает Groups[1].Value.
Далее мы просто объединяем наши 2 переменные
s = reg1 + " - " + reg2;
Вы можете использовать любой разделитель или любые другие действия с Вашими переменными. Также Вы можете использовать хоть 10 переменных со страницы. В общем возможности безграничны.
Если Вам нужна помощь в доработке плагина или готовый проект Датакол, то заполняйте форму в конце поста.
P.S будьте аккуратны при парсинге, многие сайты блокируют за частые запросы, поэтому рекомендую использовать прокси.