CoderCastrov logo
CoderCastrov
Парсер

Парсинг веб-сайта с рецептами — копия [yummly](https://www.yummly.com/)

Парсинг веб-сайта с рецептами — копия [yummly](https://www.yummly.com/)
просмотров
2 мин чтение
#Парсер

Цель: Получить все данные о ингредиентах всех рецептов

Для этого нам понадобится:

  • название рецепта
  • их ингредиенты

Начнем.

Мы собираемся извлекать данные с этого сайта, потому что здесь есть много рецептов.

Чтобы не перегружать мой компьютер, мы будем извлекать только "напитки".

Рецепты напитков

От коктейлей до пунша для детей, найдите идеальный напиток для вечеринки. Видео, фотографии и отзывы помогут вам смешать напитки...

www.allrecipes.com

Давайте спланируем, как это сделать:

Мы проверяем нашу страницу и видим следующее:

Вопрос: Есть ли разница в получении данных при прокрутке и по страницам?

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

Посмотрите на эту ссылку:

Так что мы нашли то, что нам нужно. Их страницы.

https://www.allrecipes.com/element-api/content-proxy/aggregate-load-more?sourceFilter=alrcom&id=cms%2Fonecms_posts_alrcom_2002925&excludeIds=cms%2Fonecms_posts_alrcom_214367&page=1&orderBy=Popularity30Days&docTypeFilter=content-type-recipe&size=24&pagesize=24&x-ssst=iTv629LHnNxfbQ1iVslBTZJTH69zVWEa&variant=food

Мы проверяем предварительный просмотр и находим html-данные и их страницу

Итак, теперь мы собираемся сделать следующее:

ШАГИ

1. Способ получения всех запросов с этой HTML-страницы

Мы можем использовать Python для выполнения этой задачи, потому что в этом языке есть множество ресурсов.

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

Windows

py -m venv venv
venv\Scripts\activate

Linux-iOS

python3 -m venv venv
source venv/bin/activate

Теперь мы установим необходимые зависимости для выполнения задачи.

pip3 install requests lxml (Linux)
pip install requests lxml (Windows)

Способ навигации по HTML-страницам и поиска нужной информации

Мы будем использовать XPATH:

XPath - это язык запросов для выбора узлов из XML-документа. Кроме того, XPath может использоваться для вычисления значений из содержимого XML-документа.

Некоторая документация:


Введение в XPath: как начать

XPath - это мощный язык, который часто используется для парсинга веб-страниц. Он позволяет выбирать узлы или вычислять значения...

blog.scrapinghub.com

https://devhints.io/xpath

Очистите данные, чтобы сохранить их в нужном формате

Мы собираемся использовать встроенные функции в Python, такие как join() и append()

Наш конечный результат

CODE

Repository

https://github.com/lout33/Scraper-of-allrecipes.com