CoderCastrov logo
CoderCastrov
Яндекс

Yelp Рестораны: Парсер отзывов

Yelp Рестораны: Парсер отзывов
просмотров
2 мин чтение
#Яндекс

Если вам нужны отзывы о ресторанах для анализа текста или данных, вы, вероятно, подумаете о отзывах на Google Maps. Однако, изучив отзывы о ресторанах на Google Maps, вы увидите, что обычно это простые впечатления о еде (иногда даже жалобы), редко бывают более глубокие отзывы о ресторане. В контексте задачи по извлечению текста, качество данных все же немного хуже.

Yelp - известная платформа для отзывов о ресторанах, где особенностью являются профессиональные и глубокие отзывы. Я так хочу получить корпус отзывов оттуда! Давайте начнем!

Подготовка

  • Python
  • Понимание структуры HTML

О XPath

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

Как получить XPath элемента?

Во-первых, щелкните правой кнопкой мыши на веб-странице и выберите "Просмотреть код". Это покажет HTML-код веб-страницы.

Затем нажмите Ctrl+U (Windows PC) или Command+Option+U (Mac) и выберите элемент на веб-странице. Например, если мы хотим получить XPath названия ресторана, мы можем навести указатель мыши и щелкнуть по названию ресторана, и в панели исходного кода ниже будет отображен соответствующий HTML-элемент.

Наконец, щелкните правой кнопкой мыши на выбранном элементе, выберите "Копировать" и затем "Копировать полный XPath", чтобы успешно получить XPath названия ресторана.

/html/body/yelp-react-root/div[1]/div[3]/div[1]/div[1]/div/div/div[1]/h1

Анализ структуры веб-страницы и разработка стратегии парсинга

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

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

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

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

На основе вышеуказанного анализа структуры веб-страницы можно определить следующие методы в нашем парсере.


Let’s Code

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

Затем вызовите программу, и вы сможете успешно получить отзывы о ресторане Yelp!

URL = 'https://www.yelp.com/biz/claude-bosi-at-bibendum-london'
total_info = scrap_review(URL)
total_info = organize_info(total_info)

Привет, я Jesnon. Если этот учебник был полезен для вас, пожалуйста, поставьте Лайк и поделитесь со мной своими мыслями!