Анализ текстовых данных в обзоре продукта Amazon с использованием R. Мне не удалось извлечь отзыв о конкретном продукте.

Вопрос или проблема

Текстовый майнинг обзоров продуктов Amazon с использованием программы R. Я не смог извлечь отзывы конкретного продукта (например, если у iPhone 11 есть 6k отзывов, мне нужно извлечь все из них). Я получаю только один столбец с меткой x.
enter image description here

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

install.packages("rvest")    
library(rvest)
install.packages("xml2")
library(xml2)
install.packages("magrittr")    
library(magrittr)
url <-"https://www.amazon.in/Apple-iPhone-11-128GB-Black/product-reviews/B07XVLW7YK/ref=cm_cr_dp_d_show_all_btm?ie=UTF8&reviewerType=all_reviews"
apple <- NULL    
for(i in 1:100)
    {
      murl <- read_html(as.character(paste(url,i,sep = "=")))
      rev <- murl%>%
        html_nodes(".review-text")%>%
        html_text()
      apple <- c(apple,rev)
    }

Измените свой URL на:

url <- "https://www.amazon.in/Apple-iPhone-11-128GB-Black/product-reviews/B07XVLW7YK/ref=cm_cr_arp_d_paging_btm_next_2?ie=UTF8&reviewerType=all_reviews&pageNumber"

Иначе, как ваш текущий код выполняет, вы продолжаете цикл только на первой странице отзывов.

Ответ или решение

Текстовый майнинг отзывов о продукции на Amazon с использованием языка программирования R может быть весьма эффективным инструментом для анализа мнений пользователей и выявления тенденций. Такая задача может быть использована, например, для проведения анализа настроений, чтобы понять, какова реакция потребителей на конкретный продукт, в данном случае — iPhone 11. Однако у вас возникли сложности с извлечением всех отзывов для конкретного продукта, и сейчас я помогу проанализировать вашу стратегию, предложив более эффективный подход.

Теоретический аспект

Text mining, или текстовый майнинг, — это процесс извлечения полезной информации из текстовых данных. В контексте Amazon это значит, что мы хотим извлечь текст отзывов покупателей для проведения дальнейшего анализа. Однако сбор данных с действительно большого ресурса, как Amazon, может представлять некоторые технические сложности, особенно когда дело касается многостраничных источников данных.

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

Пример

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

install.packages("rvest")    
library(rvest)
install.packages("xml2")
library(xml2)
install.packages("magrittr")    
library(magrittr)

# Корректный URL должен учитывать пагинацию отзывов
base_url <- "https://www.amazon.in/Apple-iPhone-11-128GB-Black/product-reviews/B07XVLW7YK/ref=cm_cr_arp_d_paging_btm_next_"
review_suffix <- "?ie=UTF8&reviewerType=all_reviews&pageNumber="

# Создадим пустой вектор для хранения всех отзывов
apple_reviews <- c()

# Обходим 100 страниц отзывов
for (i in 1:100) {
  # Формируем URL с учетом номера страницы
  page_url <- paste0(base_url, review_suffix, i)

  # Загружаем HTML страницы
  page <- read_html(page_url)

  # Извлекаем текст отзывов с помощью HTML-селекторов
  reviews <- page %>%
    html_nodes(".review-text-content span") %>%
    html_text(trim = TRUE)

  # Объединяем результаты в один вектор
  apple_reviews <- c(apple_reviews, reviews)
}

# Проверка первых нескольких отзывов
head(apple_reviews)

Применение и анализ

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

Важные аспекты:

  1. Этика сбора данных: Стоит помнить об этическом аспекте сбора данных. Amazon имеет свои политики использования. Важно соблюдать эти правила, чтобы избежать блокировки учетной записи или судебных исков.

  2. Ограничения API и защита от ботов: Amazon активно борется с неправомерным сбором данных. Советуем следить за лимитами запросов, чтобы избежать блокировок.

  3. Подготовка данных: Извлеченные данные требуют подготовки — очистки от HTML-тегов, ненужных символов, проверки дублирования и преобразования в пригодный формат для анализа.

Заключение

Использование R для текстового анализа отзывов на Amazon может быть чрезвычайно полезным инструментом для анализа настроений и выявления ключевой информации о продуктах. Однако важно уделять внимание техническим аспектам, таким как корректная обработка URL-адресов, этика извлечения данных и подготовка информации для анализа. Если учесть все эти факторы, вы сможете достичь поставленной цели и получить подробное понимание того, как продукт воспринимается пользователями.

Оцените материал
Добавить комментарий

Капча загружается...