如何用R语言rvest包提取Pitchfork网页中的专辑评分?
解决Pitchfork专辑评分提取问题
嘿,我来帮你搞定这个评分提取的麻烦!你的代码里有两个小问题导致没拿到想要的8.5分,咱们一步步修正:
问题分析
- 你的选择器
div span太宽泛了,页面里有几百个div下的span,根本定位不到评分那个特定元素 - 最后一行的
html_text少了括号,R里调用函数必须加()哦
修正后的代码
首先,Pitchfork的专辑评分现在是放在带有score类的<span>标签里,咱们直接用这个精准的选择器:
library(rvest) library(dplyr) # 目标URL URL <- "https://pitchfork.com/reviews/albums/us-girls-heavy-light/" # 读取页面 webpage <- read_html(URL) # 提取评分并转换为数值类型 review_rating <- webpage %>% html_nodes(".score") %>% # 精准定位评分元素 html_text() %>% # 提取文本(注意加括号!) as.numeric() # 输出结果 cat("Review Rating:", review_rating)
为什么这样可行?
Pitchfork的页面结构里,专辑评分会被单独放在一个带有.score类的元素里,用这个类选择器就能直接命中目标,不会抓到无关内容。另外把提取到的文本转成数值类型,后续做分析也更方便。
如果之后Pitchfork改了页面结构,你可以用浏览器的“检查元素”功能(右键页面评分→检查),找到评分对应的HTML标签和类名,再调整html_nodes里的选择器就行啦!
内容的提问来源于stack exchange,提问作者Ishaan Bedi
相关产品推荐
相关产品推荐

