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

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 будьте аккуратны при парсинге, многие сайты блокируют за частые запросы, поэтому рекомендую использовать прокси.

От admin