Как указать даты до перескакивания в R с rvest? - PullRequest
0 голосов
/ 17 мая 2018

Цены на номера в отелях варьируются в зависимости от даты заезда и отъезда. Таким образом, расценки должны зависеть от указанных дат.

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

library(rvest)
url <- "https://www.tripadvisor.com/Hotel_Review-g60971-d75749-Reviews-Little_America_Hotel_Flagstaff-Flagstaff_Arizona.html"
page <- read_html(url)
rate <- html_nodes(page, ".bb_price_text")
print(rate)

Результат меня удивил. Сегодня я получил три разных тарифа в течение нескольких минут, хотя только один из этих тарифов (199 долларов) постоянно отображается в Интернете, когда я обращаюсь к URL-адресу с помощью браузера (сумма, отображаемая в режиме онлайн с зачеркиванием, составляет 216 долларов США).

#{xml_nodeset (1)}
#[1] <div class="bb_price_text  hasStrikeThrough">$189</div>

#{xml_nodeset (1)}
#[1] <div class="bb_price_text  hasStrikeThrough ">$199</div>

#{xml_nodeset (1)}
#[1] <div class="bb_price_text ">$259</div>

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

dates <- html_nodes(page, ".picker-count")
print(dates)

Это вернулось 29 мая и 30 мая.

#{xml_nodeset (2)}
#[1] <span class="picker-count">May 29</span>
#[2] <span class="picker-count">May 30</span>

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

Любое понимание или помощь очень ценится!

1 Ответ

0 голосов
/ 17 мая 2018

Хотя я пока не знаю, как изменить даты.Разница в цене не связана с разницей в датах.Я протестировал эту веб-страницу, используя случайный пользовательский агент и случайный прокси.И это дает мне разные цены.

Так что это может быть либо ценовая дискриминация TripAdvisor, либо тестирование AB.

...