Парсер рецептов
Общие требования
- Класс парсера должен быть отнаследован от класса
ParserAbstract
- Получение данных с определенной страницы должно происходить через метод
get
- Вывод информации надо делать через метод
log
, но не стоит им злоупотреблять - Надо реализовать функцию
getSupportedDomains
, которая будет возвращать массив со списком доменов на которых может находиться рецепт - Надо реализовать функцию
isSupportedUrl
, которая будет проверятьurl
отправленный для парсинга на корректность
Парсинг списка доступных рецептов
Необходимо реализовать функцию parseList
, которая при нахождении страницы с рецептом должна будет вызывать функцию parsePush
Парсинг страницы с рецептом
Необходимо реализовать функцию parseContent
, которая реализуется механизм анализа конетна страницы и возвращает массив с данными.
Для ключей в массиве использовать:
url
- откуда мы спарсили данныеtitle
- название рецептаphotos
- массив фотографий прикрепленных к рецепту, если фотография одна, то в массиве должен лежать один элементingredients
- массив, каждый элемент которого является массивом описывающим ингредиент:name
- наименование ингредиента, напримерОгурец
,Яйца
илиЧерный молотый перец
amount
- количество ингредиента, например100 г
,по вкусу
,на кончике ножа
или1 штука
description
- дополнительное описание ингредиентаlink
- страница на описание ингредиента
instruction
- инструкция для приготовления. Если инструкцию можно разбить на шаги, то это должен быть массив шагов. Если инструкцию нельзя разбить на шаги, то ключ должен содержать один элемент с ключем html.image
- картинка для шагаhtml
- текст шага
duration
- время приготовления должно быть указано в минутах, если на целевом сайте используется другой формат (например1 час 20 минут
) то необходимо приводить к минутамportions
- количество порций, массив состоящий из двух целых чисел, описывающий количество возможных порций для указанного количества игредиентовcousines
- массив с наименованием кухон к которой относится рецептdescription
- описание рецептаcategories
- массив из категорий к которым относится рецептtastes
- массив вкусов рецепта (сырный
илимясной
)targets
- предназначение рецепта (на праздник
,на каждый день
и т.п.)
Остальные ключи можете называть на свое усмотрение.