АНАЛИЗ БИЗНЕС-ПРОЦЕССА СБОРА ИНФОРМАЦИИ О РАБОЧЕЙ СРЕДЕ ЭЛЕКТРОННОЙ ТОРГОВОЙ ПЛОЩАДКИ В ИНТЕРЕСАХ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ
ANALYSIS OF BUSINESS PROCESSES COLLECTION OF INFORMATION ON THE WORKING ENVIRONMENT OF E-MARKETPLACE FOR SIMULATION
Димов Эдуард Михайлович д.т.н., профессор кафедры «Экономические информационные системы»
(ЭИС)
Поволжский Государственный Университет Телекоммуникаций и
Информатики (ПГУТИ) E-mail:[email protected] Агрова Ксения Николаевна аспирант кафедры экономических информационных систем (ЭИС) Поволжский Государственный Университет Телекоммуникаций и
Информатики (ПГУТИ) E-mail: kseniya.agrova@gmail .com Пупышев Алексей Алексеевич, ассистент Кафедры «Высшей Нервной Деятельности и психофизиологии» (ВНД) Санкт-Петербургского Государственного Университета (СПбГУ).
E-mail: [email protected]
АННОТАЦИЯ
В статье рассматривается проблема сбора и структуризации оперативной информации для анализа рыночного окружения предприятия на электронной торговой площадке (ЭТП) для последующей обработки и анализа данных. А также представлен подход автора к решению данной проблемы.
ABSTRACT
This article discusses the problem of collecting and structuring of operational information for the analysis of the market environment for enterprise in
e-marketplace for further processing and analysis. And also the author presents an approach to solving this problem.
Ключевые слова
Процесс сбора информации о рабочей среде электронной торговой площадки, особенности ЭТП как информационной базы, методики получения данных, парсинг посредством построения DOM (объектной модели документа) и регулярных выражений.
Keywords
The process of gathering information about the working environment of electronic trading platform, especially e-marketplace as information base, methods of obtaining data parsing by constructing a DOM (Document Object Model), and regular expressions.
Введение
В процессе входа предприятия на электронный рынок, впрочем, как и на традиционный, перед лицом, принимающим решения, (ЛПР) возникает необходимость оценки рыночного окружения (внешней среды) в интересующем его сегменте рынка. В первую очередь эта информация необходима для определения собственного потенциала компании, а также призвана ответить на вопрос об общей целесообразности участия фирмы, как игрока рынка, на той или иной ЭТП.
Необходимыми критериями для данной оценки служат: объем интересующего сегмента рынка (количество вовлеченных участников), количество конкурентов, количество потенциальных потребителей, географическое расположение участников рынка, существующие взаимосвязи между ними и т.д. Полученные данные могут использоваться для имитационного моделирования бизнес-процесса продвижения продукции посредством ЭТП, что впоследствии позволит создать систему прогнозирования, применимую на различных электронных рынках. Ценность
применения подобных инструментов заключается в своевременном предоставлении исчерпывающей и понятной информации для ЛПР.
Сравним особенности сбора информации о рыночном окружении традиционного и электронного рынка (табл.1).
Таблица 1 - Сравнительный анализ сбора информации о рыночном
окружении на электронном и традиционном рынках
Критерий Традиционный рынок Электронный рынок
Источник информации - каналы распределения продукции; - поставщики и потребители продукции; - рекламные агентства; - торговые агенты; - маркетинговые фирмы (обслуживающие конкурента); - инженерный, торговый, управленческий персоналп предприятя; - специальные аналитические службы ЭТП
Преимущества - быстрота ответа на интересующие вопросы; - простота последующего ее сведения в нужную форму. - точность; - оперативность; - объективность; - достоверность; - предоставляется бесплатно.
Недостатки - субъективность; - неполнота; - высокая степень недостоверности; - сложность доступа и дороговизна (в случае с персоналом предприятия и специальными аналитическими службами) требует проведения дополнительных процедур: - выбора данных; - ранжирования; - компиляции; - приведения информации в вид, необходимый для проведения анализа (структуризация).
На первый взгляд общая доступность и прозрачность информации,
представленной в рамках электронного рынка (ЭР - в данном контексте, тоже, что и ЭТП), дает значительное преимущество и дополнительные возможности для анализа рыночного окружения по сравнению с аналогичным традиционным рынком. Однако, учитывая высокую динамику ЭР, сбор и компиляцию собранной информации невозможно реализовать с
необходимой точностью при использовании одних лишь человеческих ресурсов. В связи с этим необходимо выделить проблему, которая стоит перед ЛПР - как усовершенствовать процесс сбора информации о рабочей среде электронных торговых площадок. Для ответа на поставленный вопрос рассмотрим ЭТП и ее особенности как информативной базы.
Решение
Рассмотрим процедуру получения данных для последующей обработки и анализа. ЭТП содержит в открытом доступе следующую информацию:
1. Общая:
- список участников ЭТП;
- классификатор ОКДП (общероссийский классификатор
видов экономической деятельности, продукции и услуг) продукции и
услуг участников ЭТП;
- территориальное расположение участников ЭТП.
2. Для каждой организации ЭТП:
- список партнеров-поставщиков для участника ЭТП;
- список партнеров-потребителей для участника ЭТП;
- список предлагаемой продукции участника ЭТП;
- список потребляемой продукции участником ЭТП;
- основная номенклатура участника ЭТП:
• номенклатура предлагаемой продукции;
• номенклатура потребляемой продукции.
Будем производить сбор информации, отраженной в пунктах 1-2. ЭТП представляет в открытой форме территориальное расположение участников рынка.
Сайт ЭТП (b2b-center.ru) предоставляет два списка организаций-участников (ОУ) ЭТП см. рис.1:
России.
Каталог поставщиков Каталог потребителей Поставщики по рубрикам Потребители по рубрикам
Поиск поставщиков и потребителей (без. классификатора)
Ключевые слова
Поиск по региону Все страНы и регионы
Я
[ Найти » ] В Расширенный поиск
Здесь вы можете вписать поисковый запрос. В качевстве ключевых слов могут выступать название организации или известная вам часть слова (например: "Самара" или "энерго"). Можно использовать для поиска название товара или категории классификатора [например: "трансформатор" ипи "трансф").
Участники системы по странам
Россия [112429] Австрия [16] Азербайджан [9] Антильские Острова [2] Аргентина [1] Армения [22] Афганистан [1] Багамские Острова [2] Бангладеш [5] Беларусь [438] Белиз [2] Бельгия [11]
Италия [50] КНДР [1] Казахстан [518] Каймановы острова [1] Камерун [3] Канада [7] Кения [1] Кипр [5] Киргизия [30] Китай [641] Корея [15] Лаос [1]
По умолчанию поиск ведётся по всем возможным параметрам (названия, реквизиты, основная номенклатура, торговые процедуры, продукция, классификатор). Организации, найденные по названию., отображаются в начале списка. Для сужения области поиска нужно включить режим расширенного поиска и убрать галочки у ненужных параметров поиска.
[1]
Словения [9]
Соединенные Штаты Америки [68] Судан [1] Суринам [1] Сянган (Гонконг) [12] Таджикистан [7]
Рис. 1 - Список организаций-участников электронной торговой
площадки.
Классификатор ОКДП представлен на данной ЭТП в виде иерархической древовидной структуры см. рис.2. Вершины данного дерева -категория продукции ОКДП, у каждого узла (вершины) имеется 1 из 2 типов потомков: следующая подкатегория либо "лист" - список наименований продукции или услуг ОКДП, с соответствующей информацией о поставщиках и потребителях.
Поставщики и потребители (всего 117907)
Поиск Каталог потребителей Поставщики по рубанкам Потребители по рубрикам
Параметры поиска: поиск в предлагаемых организациями продукции и услугах. Выбранные категории
Бесь классификатор
Поиск по классификатору (?)
Ключевое слово
Виды услуг Все виды Поиск по региону Все ст::знь| и реги0Ны
Найти >>
Показать все категории
[DÜ000Ü00] Продукция и услуги обрабатывающей промышленности [□2700000] Продукция металлургической промышленности [D2710000] Черные металлы (чугун И сталь:
[□2714000] Металлоизделия промышленного назначения (метизы;
[D2714Ü30] Изделия на пооеопокм гвозди зпектроды сетка крепежные изделия машиностдоигепьные железнодорожные [□2714830] Еслты с (черные и качественные! [640]
[□2714850] Ди ЕШбааные [430] [D2714910] Еопгы путеЕые
[D2714911] Болты путевые стыкоеыв с !Р^амн дпя рельсовых скреплений [95]
Рис. 2 - Классификация поставщиков и потребителей в рамках ЭТП.
Опишем методики получения данных с ЭТП. Для получения информации с сайта существует три различных подхода:
1. Интерфейс непосредственного доступа к базам данных сайта.
2. Парсинг сайта посредством построения DOM (объектной модели документа). Парсинг - это синтаксический анализ сайтов, который автоматически производится парсером - специальной программой или скриптом. Характер парсинга определяется заданием получить определенную информацию со страниц сайта, параметры анализа задаются заранее. Собранная информация предоставляется в определенном виде и проводится на одном из языков программирования.
3. Парсинг сайта посредством регулярных выражений.
Так как первый метод связан с определенными процедурными сложностями (административными и технологическими), и необходимая информация представлена в простой текстовой форме - будем использовать подход к получению данных с сайта преимущественно посредством регулярных выражений и технологией x-Path (подход №2).
Сайт ЭТП представляет собой структурированное множество вебстраниц. Каждая веб-страница представляет собой код на языке разметки HTML с элементами дополнительных технологий (JavaScript, PHP, CSS и т.д.). Задача получения информации в данном случае сводится к поиску и извлечению текстовых паттернов, т.е. последовательности символов, удовлетворяющих определенным правилам заданной грамматики.
Для данной задачи успешно применяется технология регулярных выражений (РВ) - формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов (символов- джокеров, которые используются для замены других символов или их последовательностей, приводя, таким образом, к символьным шаблонам. Развитием символов-джокеров являются регулярные выражения). Для извлечения определенного паттерна (типа подстроки) необходимо составить для него соответствующую последовательность метасимволов -регулярное выражение. Процедура составления регулярного выражения является задачей, весьма трудоемкой даже для специалиста, с большой вероятностью ошибки. С целью облегчения данной процедуры было создано множество онлайн-сервисов. Для данной работы был использован сервис: http://regexpal.com/ . Исходные коды HTML сайта ЭТП представлены на рис.3.
Рассмотрим детально процедуры составления регулярных выражений. После получения, посредством веб-браузера, кода веб-страницы и нахождения участка с интересующим текстовым паттерном, выделяем этот текстовый блок и вставляем его в специальное окно сервиса. Далее с помощью справочника по синтаксису регулярных выражений и информации из выбранного текстового блока создаем РВ. Критерием успешности РВ является отсутствие возможности случайного извлечения лишней информации при ошибочном распознавании паттерна РВ.
В большинстве случаев для извлечения текстовой информации с вебстраницы удобнее производить поиск и сохранение сначала некоторого
большого фрагмента текста, который впоследствии обрабатывался другими регулярными выражениями, производящими извлечение различных его подстрок.
При извлечении данных классификатора ОКДП было использовано динамическое регулярное выражение, один элемент-символ которого необходимо было изменять в зависимости от того, веб-страница какого уровня ОКДП анализировалась в текущий момент. При правильном выборе этого символа получаем набор текстовых блоков, содержащих информацию о кодовых значениях категорий ОКДП, названии и адреса соответствующих веб-страниц.
Щ G D regexpal.com
> regexpal 0.1.4 — a JavaScript regular expression tester О Case insensitive (i) match at line breaks (m) В Dot matches all (s; viaXRegExp)
«дни
<ul clas3=corcpact>
;<iixa clas3=rrvxsited" href="/f±rms/v±e>i_firm.iitir.i?±d=165">0A0 "Электрозавод"</ax/li>
-clixa clas3="visii:ed" nref=Tr/firms/view_f 1гт.&£т1?13=328">Филиал ОАО "МРСК Сибири" - "Читаэнерга"</ах/1х> <lixa class="visited" href ="/firii^/view_firm. html ?id=2 951 ">000 "ЕЗР0КА5ЕЛЬ"</аХ/11>
Clixa clas3=nvi3ited" href=w/finns/view firm.html?id=61Q9">3AO "Лабораторное Оборудование и Приборы" (не подтверждено) </аХ/
<11><а class="visited" href=Vfirms/view_firm.html?id=6190">C. А.Н.О. "ИЭЦ"</ах/11>
<iixa class=r,vxsited" href=Tt/firins/view_firm.html?xd=7292">CaMapcxiai трансформаторе/ax/li>
clixa clas3=rrvisited" href="/fiiTrs/view_fiini.hcml?id=74Q3,r>000 Компания "Ай-Ги-Си" (г .Москва) </ax/li>
<1±><а class="visited" r.ref="/f irms/view_f irm.html?id=?737">000 "3KM"c/aX/li>
Clixa clas3="visited" href="/firms/viev;_firm.htir,l?id=9383">000 "Нексанс Рус. "c/ax/li>
<li><a clas3="visited" href='T/firms/view f irm.ritml?id=10523">OAO "Электроприбор"</aX/li>
;</ui>
<a href="/f irms/vi ew_firm.html ?id=612&f irrrpartnerslistin=l" title="Развернуть">РазвернутььпЬзр; > >c/a> c/divx/div>
c/divxdiv class="back link"Xa href="" one!ick="show details block('table block 94209', 'main block 49435', false); return i об организации SAO £quot;TK Squot;ЭлектрощитSquot;-ГМ Cai-iapaiquot; </a></divX/div>
<div id="table_block_91593" style="display: none,rXdxvXdxv с1азз=^аЬ1е_ЬеаЗ_1±пе"ХЬЗ>Партнёры-потреби,те.ли организаххии ЗАО CaMapa" (29) <a href="/firms/viev_firm.html?id=612&firrrpartnerslistout=l" title="Развернуть">£gt;></ax/h3x/div> <div clas3="table line c2"Xdiv clas3="text"> Cu.1 class=compact>
Clixa clas3=rrvisited" href =Vfirras/view_firm. html ?id=14i™>QAO "ДРСК"</аХ/1х>
<lixa clas3=r,vxsited" href=Tt/firas/view_firm.r.tml?±d=504">OAO "ОГК-2" филиал "Ставропольская ГРЗСггС/аХ/1х> <lixa clas3=rrvi3ited" href="/fiiTrs/view_fiiia.hcml?id=1436">OAO "МРСК Северного Кавказа"</ах/11> <lixa clas3 = "visited" href=TT/firms/view_firm.html?id=2951">000 "ЕВРОКАБЕЛЬ"</aX/1 i>
<lixa class=rrvisited" href="/firms/view firmi.html?id=6847"><i>iijiHan ОАО "РусГидро" - "Кабардино-Балкарский ф-л"</а></И>
Clixa clas3="vxsited" href=n/firms/view firm.html?id=7024">OAO "Мосэнерго" (не подтверждено) </ax/li>
<liXa clas3="visited" href = "/fiпвз/view firm.html?xd=9Q75">OAO "Дагэнергоремстрой"</ax/li>
<lixa clas3="vxsited" href=TT/firms/view_firm.titml?id=1043^">3AO "C3M"</ax/li>
<lixa class = r,vi3ited" href= p,/firms/view_firm.html?id=12991">000 "3C-BDrparr</aX/li>
Clixa class=r,visited" href =TT/f irms/view firm.html?id=16779">000 "НоЕая Энергия "c/ax/li>
k/ui>
Need more power? Get ReqexBuddv a powerful re g ex tester that ins pi red RegexPal. Round out your mastery over regex with RegexMagic and PowerGREP.
es Permalink — © 2012 Steven Levithan. Powered by XRegExp and Regex Colorizer.
Рис. 3 - Использование сервиса "regexpal.com" для подбора регулярных выражений в задаче извлечения данных из НТМЬ-кода сайта
ЭТП.
Каждый такой блок впоследствии обрабатывался РВ для извлечения описанной выше информации.
Помимо использования технологии регулярных выражений очень полезным оказался принцип определения паттерна и целевых данных посредством x-Path запроса. Это технология, основанная на объектной модели документа (DOM) которая позволяет получить доступ к значениям определенных атрибутов языка разметки (HTML, XML) в более удобной форме, чем посредством РВ. Процедура формирования DOM-дерева и разворачивание структуры HTML по умолчанию производится браузером. С помощью программных библиотек, позволяющих эмулировать работу браузера, в рассматриваемом контексте мы можем организовать более оптимальную с точки зрения производительности и надежности процедуру извлечения данных с веб-страницы.
Важным пунктом, требующим отдельного обсуждения, является ограничение прав доступа на сайт ЭТП. В общей форме сайт доступен для просмотра лицами, не являющимися участниками ЭТП. Однако в контексте анализа деятельности интересующих предприятий, незарегистрированное лицо ограничено в просмотре полных списков атрибутов и характеристик участников ЭТП. Для доступа к этим данным необходима регистрация.
Авторы данной статьи являются зарегистрированными участниками ЭТП и имеют доступ к анализу всей информации посредством веб-браузера. Однако для автоматической процедуры данный феномен вносит серьезные осложнения.
Данную проблему можно обойти путем эмуляции зарегистрированного клиента. Данная задача решается путем формирования cookie-файла (cookie -это файл, в котором содержится символьная строка, сохраняемая на компьютере при посещении веб-сайта), который обрабатывается сервером при каждом запросе и позволяет установить серверу важную информацию о клиенте (например: логин и пароль), и далее указанием скриптом данных этого файла непосредственно в запросе к серверу. Данный запрос называется POST - запросом.
Извлеченная информация сохранялась в текстовый файл, формата CSV, в виде линейного списка со специальными символами-разделителями, для дальнейшей обработки (Рис.4).
ID Компании: Регион: Список наименований предлагаемой Список наименований потребляемой nnOflVKI |ИИ~ Список ID партнеров- Список ID партнеров- поставщиков:
OOO-MEChEL-ENERGO/35423/ Россия, г. Москва D2919S11, D2899290,... К7242000, D2922247.... ZAO- Sibtiazh mash/22549/ OAO-NPO-SATURN/4679/,... ZAO- Sa ratoven e rg om a s h OOO-NTTs-Privodnaia-tekhnlka-g.Che liabmsk/12547;
Рис. 4 - Файл CSV
Кроме задачи непосредственного извлечения данных с веб-страниц, необходимо организовать процедуру последовательного доступа к определенным из них, посредством универсального локатора ресурсов (URL). Примером является задача определения веб-адреса каждого участника ЭТП (на сайте ЭТП). Решением данной задачи является первоначальное составление списка анализируемых участников в формате таблицы с данными об url компании, ее названии, географическом положении. После чего, с помощью циклических конструкций, производится перебор адресов из списка и для каждого url анализируется соответствующий набор вебстраниц. Аналогично решаются все похожие задачи в контексте данного исследования.
Процедура получения данных с b2b-center выполнялась с использованием скриптового языка Python версии 2.7, с использованием библиотек: "Grab", "codecs", "urllib", "re", в интегрированной среде разработки «ERIC4». Исходный код проекта доступен по адресу [10].
Заключение
Предложенный в данной статье путь совершенствования процесса сбора информации о рабочей среде электронной торговой площадки решает проблему трудоемкого «ручного» поиска и ранжирования информации, позволяет обновлять необходимые данные гораздо более оперативно. А
также представляет объективную на данный момент информацию в удобном структурированном виде.
Библиографический список
1. Альфред В. Ахо, Моника С. Лам, Рави Сети, Джеффри Д. Ульман Компиляторы. Принципы, технологии и инструментарий. - 2-е изд. -М.: Вильямс, 2008. - 1184 с.
2. Джеффри Фридл Регулярные выражения. - М.: Символ-Плюс, 2008. -608 с.
3. Билл Смит Методы и алгоритмы вычислений на строках. Теоретические основы регулярных вычислений. - М.: Вильямс, 2006. -496 с.
4. Акимов С.В. Технологии Internet / Intranet в почтовой связи: учебное пособие / СПбГУТ. СПб, 2005-122 с.
5. Ташков П А Веб-мастеринг на 100%: HTML, CSS, JavaScript, PHP, CMS, графика, раскрутка. - 1-е изд. - СПб.: ПИТЕР, 2010. - 512 с.
6. Бен Хеник HTML и CSS. Путь к совершенству. - СПб.: ПИТЕР, 2011. -336 с.
7. М. М. Камилов, А. Р. Ахатов Система контроля достоверности текстовой информации на основе n-граммных парсинговых моделей // Проблемы информатики. - 2009. - №1. - С. 44-53.
8. А.С . Гусаренко , В.В. Миронов ДИНАМИЧЕСКИЕ DOM-ОБЪЕКТЫ В СИТУАЦИОННО-ОРИЕНТИРОВАННЫХ БАЗАХ ДАННЫХ: ЛИНГВИСТИЧЕСКОЕ И АЛГОРИТМИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ИСТОЧНИКОВ ДАННЫХ // Вестник УГАТУ. - 2012. - №6. - С. 167176.
9. Git Справочник // The Git Community Book URL: http ://uleming.github.io/gitbook/7_git_%D0%A1 %D0%BF%D 1%80%D0% B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA.html (дата обращения: 13.04.2013).
10. Проект сбора данных с ЭТП // GitHub URL: https://github.com/AlekseiPupyshev/R_DFSweb/blob/master/b2bGrabberby List.py (дата обращения: 12.06.2013).