Сегодня хочу поделится с Вами небольшим, но очень полезным динамическим плагином. Он позволит Вам получить в одно поле несколько значений, т.к по умолчанию Датакол этого сделать не может.
Итак, что нам для этого нужно:
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 будьте аккуратны при парсинге, многие сайты блокируют за частые запросы, поэтому рекомендую использовать прокси.
Хорошие прокси от 33р за шт можно купить тут