html - 使用 R 从 TripAdvisor 刮取评分值的更有效方法
问题描述
我正在尝试从 TripAdvisor 获取评分。到目前为止,我已经设法提取 HTML 节点,将它们转换为字符串,提取代表我需要的数字的字符串,然后将其转换为正确的数字,最后将其除以 10 以获得它所展示的正确值。
library(rvest)
url <- "https://www.tripadvisor.co.uk/Attraction_Review-g1466790-d547811-Reviews-Royal_Botanic_Gardens_Kew-Kew_Richmond_upon_Thames_Greater_London_England.html"
ratings_too_big <- url %>%
read_html() %>%
html_nodes("#REVIEWS .ui_bubble_rating") %>%
as.character() %>%
substr(38,39) %>%
as.numeric()
ratings_too_big/10
这无疑是非常混乱的——有什么更清洁、更有效的方法来做到这一点?我还尝试了此处显示的 Hadley Wickham 示例:
library(rvest)
url <- "http://www.tripadvisor.com/Hotel_Review-g37209-d1762915-Reviews-JW_Marriott_Indianapolis-Indianapolis_Indiana.html"
reviews <- url %>%
read_html() %>%
html_nodes("#REVIEWS .innerBubble")
rating <- reviews %>%
html_node(".rating .rating_s_fill") %>%
html_attr("alt") %>%
gsub(" of 5 stars", "", .) %>%
as.integer()
这不成功,因为没有返回数据(HTML 节点“.rating .rating_s_fill”中似乎没有任何内容)。我是新的抓取和 css 标识符,如果答案很明显,我们深表歉意。
解决方案
推荐阅读
- javascript - 在 React 状态更新后触发异步请求的最佳方法?
- swift - Xcode - swift - 如何链接(嵌入)Cocoapods Lumberjack
- javascript - 使用 html、css 和 javascript 在点击时弹出每个复选框
- python-3.x - 滚动平均并聚合熊猫中的多列
- java - 返回可选值,取决于流内使用的方法抛出的异常
- java - java.sql.SQLException:没有合适的驱动程序 - COM.ibm.db2.jdbc.app.DB2Driver
- django - Django 更新功能
- ios - 未找到金属核函数
- javascript - 如何修复反应代码中的vscode自动间距问题
- amazon-web-services - 在弹性搜索索引中查找所有未使用的索引字段(弹性搜索客户端未查询的字段)