Как выбрать формат получения данных парсинга для интернет-магазина

Парсинг — это автоматизированный сбор данных. Для интернет-магазинов это информация о товарах: их описания и характеристики, такие как цена, габариты, вес, скидка и т.д.

Парсер экономит время на аналитику. Вы сможете быстро мониторить цены конкурентов и наполнять свой магазин товарами и информацией.

Выделяют два этапа парсинга: сбор данных и преобразование их в CSV, XML  или другой формат. Выбор зависит от цели парсинга. Для интернет-магазинов в 90% случаев будет импорт в какую-либо CMS (система управления содержимым сайтов): Bitrix, Opencart, WordPress и т. п.

Из этой статьи вы узнаете:

  1. Топ-5 популярных форматов для хранения данных с парсинга, конкретнее рассмотрим:
    1. что за форматы
    2. где используются
    3. их спецификацию (документацию, стандарт)
    4. особенности парсинга
    5. плюсы и минусы
  1. В каких ситуациях можно конвертировать форматы из одного в другой, а в каких нельзя.
  2. Как выбрать формат для хранения данных с парсинга. Какой именно подходит для вашего проекта.

Топ-5 форматов для сбора данных с парсинга:

1. CSV

Что за формат

Текстовый формат, созданный для представления данных в табличном виде. Каждая строка в документе — это строка таблицы, а столбцы разделены специальным символом-разделителем.

В стандарте этот специальный символ-разделитель — запятая (,). Если она нужна в данных. Например, описание товара содержат запятые, то используют точку с запятой (;). Если и они нужны, то кавычки («). А если нужны и кавычки, то используют двойные кавычки («»).

Где используется

 Обычно для импорта в CMS, админки и SAAS сервисы.

Протокол (спецификация)

Описан в стандарте RFC 4180. Вот основные требования, которые он предъявляет:

  • Каждая строка файла — строка таблицы.
  • Разделителем значений колонок является символ запятой (,). На практике же часто используются другие разделители.
  • Значения, содержащие зарезервированные символы (двойная кавычка, запятая, точка с запятой, новая строка) обрамляются двойными кавычками («»). Если в значении встречаются кавычки — они представляются в файле в виде двух кавычек подряд.
  • Каждая строка (запись) должна содержать одинаковое количество полей.

Особенности парсинга

 Запись данных парсинга происходит в виде последовательного добавления строк. Открыть и редактировать данные можно в любом редакторе электронных таблиц.

Плюсы и минусы

Формат распространен, прост и удобен.

Ошибки возникают, когда символ-разделитель используется в поле ячейки. В таком случае нужно выделить поля другим символом и выбрать его как разделитель в настройках программы (например, Microsoft Excel).

Разные программы и сервисы могут использовать свой стандарт символа-разделителя. Это также решается в настройках.

2. XLS(X)

Что за формат

 XLS и его поздняя модификация XLSX — формат файлов программ Microsoft Excel. Файл хранит данные о таблицах, цветах ячеек и текста, вычисления с использованием формул и т.д.

Где используется

 В импорте и экспорте баз данных, админпанелей интернет-магазинов и сервисов.

Особенности парсинга

 Требует задействования дополнительных библиотек для записи в xls или xlsx. Для языка программирования Python — это будут библиотеки pandas, openpyxl, xlrd, xlutils и pyexcel.

Плюсы и минусы

 Возможность сохранять форматирование итоговых данных делает вывод наглядным и презентабельным. Можно сразу выводить данные в нужном формате: рубли, дата, числа и т.д.

 Главная проблема формата — необходимость задействовать дополнительные библиотеки языка программирования для обработки файлов. Это требует больше времени и ресурсов сервера, чем в таблицу csv.

Часто разработчики упрощают модули импорта заменой xls на csv. Затем файл csv уже форматируют в xls.

3. XML

Что за формат

eXtensible Markup Language или расширяемый язык разметки — это формат файла, где текстовые данные записываются внутри тегов разметки в иерархическом порядке.

Пример простейшего xml документа:

<?xml version=»1.0″?>

<list_of_items>

<item id=»1″><first/>Красный</item>

<item id=»2″>Зеленый<sub_item>Зеленый первый</sub_item></item>

<item id=»3″>Синий</item>

<item id=»4″><last/>Коричневый</item>

</list_of_items>

Где используется

 Данные парсинга часто сохраняют в формате xml. С ним удобно работать программам и человеку. Он гибок и позволяет создавать свои структуры данных.

Почти все сервисы парсинга с удовольствием работают с этим форматом.

Протокол (спецификация)

Включает в себя описания языка и ряд вопросов, касающихся кодировки и обработки документов. Спецификацию вы можете прочитать здесь.

Особенности парсинга

 Перед парсингом необходимо спланировать схему данных и протестировать ее валидности, т.е. пригодность для использования. Легко допустить ошибки в структуре, иерархии и синтаксисе. Даже небольшая ошибка приведет к неправильному заполнению файла.

Проверить файл на валидность легко — откройте его в Excel. Редактор подсветит ошибки и укажет на нужную строку.

Плюсы и минусы

 Прост в использовании, записи и чтении. Не требует сторонних библиотек, открывается текстовыми и табличными редакторами, поддерживается большинством сервисов и программ, которые связаны с парсингом.

4. SQL

Что за формат

Представляет собой последовательный набор исполняемых команд для создания, модификации и управления данными в реляционной базе данных, управляемой СУБД.

По факту, текстовый файл содержащий операторы, инструкции и вычисляемые функции.

Где используется

Для внесения данных напрямую в базу данных, то есть без использования интерпретаторов, библиотек и т. п.

Протокол (спецификация)

SQL/PSM является актуальным стандартом языка SQL. Он описывает синтаксис и семантику для потока управления, обработки исключений, локальных переменных и т.п. Также определяет информационную схему (метаданные) для хранимых процедур.

Для разных СУБД разрабатывается своя версия языка SQL и компании-разработчики по-разному относятся к стандарту. СУБД Oracle Database держится от него на расстоянии. MySQL и MariaDB, наоборот, близки к стандарту SQL/PSM.

Особенности парсинга

Результат парсинга это инструкция, которую затем нужно будет исполнить в СУБД.

 Необходимо соблюдать синтаксис операторов и инструкций, не допускать ошибок в вычислительных формулах.

Если в вашей db (data base или база данных), куда вы собираетесь парсить уже есть схема данных и какая-то информация, то нужно следовать этой структуре и избежать повторений в поле id. Чтобы избежать ошибок лучше импортировать имеющиеся данные, проанализировать их структуру и воссоздать подобные записи в шаблоне парсинга.

Плюсы и минусы

Запись напрямую в базу данных дает всю мощь СУБД, а это функции, хранимые процедуры, система управления версиями и т.п. Если проект требует, чтобы данные с парсинга хранились в db, то это идеальный вариант.

Минусом является скорость записи данных в db. Она ниже скорости записи в файл, например: csv, xml, json и т.д. Это компенсируется возможностями СУБД.

5. JSON

Что за формат

Текстовый формат обмена данными, основанный на JavaScript. Из-за своего удобства стал независимым форматом и поддерживается практически любым языком программирования.

JSON-текст хранит данные в структуре «ключ:значение» или упорядоченный набор значений.

Пример структуры «ключ:значение»:

{

   «firstName»: «Анатолий»,

   «lastName»: «Рыбкин»,

   «address»: {

       «streetAddress»: «Московское ш., 101, кв.101»,

       «city»: «Ленинград»,

       «postalCode»: 101101

   },

   «phoneNumbers»: [

       «8 (943) 143-55-34»,

       «8 (900) 321-99-55»

   ]

}

Пример структуры “упорядоченный набор значений”:

[“Hello”, “world”, “!”]

Где используется

Чаще всего используется веб-сервисами, т.к. является обычной строкой, но имеет структуру объекта.

Парсинги из-за простоты используют JSON повсеместно.

Протокол (спецификация)

Существуют разные стандарты JSON, но на практике разработчик сам решает, какой JSON будет считаться правильным, а какой нет. Однако есть общие правила, которые нельзя нарушать.

Главные правила JSON:

  • Данные написаны в виде пар «ключ:значение»
  • Данные разделены запятыми
  • Объект находится внутри фигурных скобок {}
  • Массив — внутри квадратных []

Особенности парсинга

На первый взгляд для парсинга формат JSON выглядит идеальным. Он по сути является строкой и легко изменяет структуру под нужды разработчика.

Во время парсинга в JSON могут возникнуть подводные камни, которые приведут к багам. Решение проблемы может занять время из-за отсутствия единой спецификации. Документирование некоторых аспектов работы с JSON иногда плохо описано или вовсе отсутствует.

Подробно о парсинге на json прочтите здесь.

Плюсы и минусы

Гибкость и простота. Поддерживается практически всеми языками программирования и сервисами.Отсутствие единого стандарта, что ведет к неожиданным ошибкам.

Перевод из одного формата в другой

Если вам нужно преобразовать результат парсинга в другой формат, то в большинстве случаев вам не придется делать это вручную, но иногда этого не избежать. Рассмотрим разные случаи.

XLS(X) в CSV и обратно

XLS(X) преобразуется в CSV и обратно пересохранением в Microsoft Excel или другом табличном редакторе. Если возникнут ошибки, то обратите внимание на кодировку. Для импорта файл CSV должен быть в кодировке UTF-8.

XML

XML можно представить в виде таблицы, однако схема XML может быть настолько сложной, что принцип «одна строка — один товар» не сработает. Ручного редактирования не избежать.

Преобразование в обратную сторону (из любых таблиц в xml) поддерживается большинством редакторов.

SQL

Из базы данных можно получить файл в другом формате, тот же XML. Если такая возможность есть, то это делается через команды к СУБД. Вот пример: в MySQL: “mysqldump -X test > test.xml”.

Конвертировать какой-либо формат в db поможет онлайн сервис или скрипт на языке программирования.

JSON

JSON легко конвертируется в другие форматы. Из JSON в XML это делается в этом онлайн сервисе. Уверен, вы сможете найти и другие сервисы для конвертации JSON в другие форматы.

Как выбрать формат

Определите, где и как вы собираетесь использовать данные с парсинга. Изучите целевую админпанель сайта, сервис или программу, для которой предназначается парсинг. Подумайте, в каком формате вам будет удобнее воспринимать данные.

Далее проведите несколько тестов. Попробуйте спарсить в разные форматы, если это позволяет быстро сделать сервис или программа. Изучите то, что у вас получилось. Нужно ли будет конвертировать этот формат в другой.

На основе полученных ответов выберите лучший формат.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх