В предыдущих статьях мы рассказывали про парсинг карточек товаров и их разновидностей, а сегодня мы подробнее поговорим про форматы, в которых можно хранить собранную информацию.
Парсинг сам по себе делится на два этапа, сбор информации и её преобразование в различные структуры. Какой формат выбрать и для каких целей они подходят мы сейчас и разберёмся.
Форматы для хранения результатов парсинга
CSV
CSV это текстовый формат для представления информации в виде таблицы. Каждая строка представляет собой строку таблицы, а колонки делятся зарезервированными разделяющими символами.
CVS обычно используется для импорта в CMS сервисы, например в Bitrix или WordPress.
Запись производится путём постепенного добавления новых строк, при этом каждая строка должна быть разбита на одинаковое количество столбцов.
Этот формат очень удобен за счёт своей простоты, главное следить что бы в значениях ячеек не встречались зарезервированные символы.
XLS
Это формат таблиц программы Excel. В нём хранятся привычная информация о ячейках, форматах и формулах. Он используется для хранения баз данных.
Для работы с XLS необходимо задействовать сторонние библиотеки для работы с таблицами, например, pandas для языка программирования Python.
XLS позволяет хранить информацию в презентабельном и читаемом виде, приводя данные к нужным форматам и системам исчисления. Главной проблемой является необходимость использования сторонних библиотек, так как они дополнительно нагружают сервер, соответственно требуется больше времени для обработки.
XML
XML, или расширяемый язык разметки, представляет собой текст, хранящийся внутри тегов в строгой иерархии.
Благодаря лёгкой читаемости и строгой структуре с ним удобно работать и человеку, и компьютеру, к тому же не требуется подключение библиотек для чтения и записи, главное не допускать ошибок в формировании иерархии, так как она может привести к некорректному заполнения таблицы.
SQL
SQL это набор команд, управляющих данными в базе данных. Он используется для редактирования баз данных напрямую, без использования прочих инструментов.
Результатом парсинга будет набор команд, которые нужно будет исполнить в отношении базы данных, поэтому, как и в случае с XML необходимо следить за правильностью синтаксиса.
Медленная скорость записи нивелируется широким спектром возможности базы данных, созданной с помощью SQL.
JSON
Это текстовый формат, основанный наJavaScript, но широко распространён и поддерживается большинством языков программирования. Формат JSON представляет собой набор ключей с присвоенными им значениями.
По своей сути является строкой, но имеет структуру объекта, поэтому зачастую используется веб-сервисами. Из-за гибкости и простоты он является одним из самых привлекательных вариантов, главное соблюдать спецификацию для избегания багов.
Преобразования одного формата в другой
Большинство форматов можно преобразовать в другие форматы автоматически, например, CSV в кодировке UTF-8 можно открыть в редакторе таблиц и превратить его в XLS.
XML так же можно преобразовать в табличный тип с помощью, например, Excel, но из-за сложной структуры может потребоваться вручную дорабатывать получившийся файл.
Из баз данных так же можно получить XML с помощью встроенных SQL команд.
JSON можно преобразовать в другие форматы с помощью онлайн-сервисов.
Выбор формата
Что бы определиться, в каком формате собирать результаты парсинга, нужно понять, где вы будете использовать полученную информацию, поддерживаются ли форматы в необходимых вам программах или сервисах, как важна читаемость, будете ли вы преобразовывать формат. Так же вы можете протестировать работоспособность разных форматов, и выбрать тот, который работает лучше всех и устраивает вас.