r - 使用 R 创建一个序列以从 url 中抓取文本
问题描述
我正在尝试创建一些代码来抓取在一个赛季中主持过每场 NBA 比赛的官员的姓名。我试图从中抓取的所有 url 的格式都类似,所以我需要一些代码来识别格式和reads
官方名称。非常感谢您的帮助!
你会看到:
下面的第一个版本
# extract officials
读取标题inactive
、officials
、attendance
等。第二个版本
# extract officials
在上述每个标题之后阅读文本。我需要一些代码来识别多个 url 上的这种格式/模式,并每次都读取官方的名字。
Scott Foster
, Ron Garretson
,Dedric Taylor
在这个特定的 url 示例中:
# get webpage
url = paste0("https://www.basketball-reference.com/boxscores/", "201810160BOS", ".html")
webpage = read_html(url)
# extract officials
data = webpage %>%
html_nodes(paste("body > div > div > div > div > strong")) %>%
html_text()
# extract officials
data = webpage %>%
html_nodes(paste("body > div > div > div > div > a")) %>%
html_text()
解决方案
我自己对 R 了解不多,我确信有更好的方法,但也许这可以是一个开始:
library(rvest)
url = paste0("https://www.basketball-reference.com/boxscores/", "201810160BOS", ".html")
webpage = read_html(url)
data = webpage %>% html_nodes(paste("body > div > div > div > div > a"))
urls <- data %>% html_attr("href")
text <- data %>% html_text()
df <- data.frame(urls, text, stringsAsFactors=FALSE)
refs <- df[stringr::str_detect(urls, "referees"),"text"]
这是我得到的结果:从上面的代码:
参考文献 [1] “斯科特·福斯特” “罗恩·加勒森” “德里克·泰勒”
推荐阅读
- jsf - 在评估动作EL表达式之后如何在JSF中触发命令按钮上的点击事件
- sql - 如何在flutter上查询sqflite多个whereArgs?
- python-3.x - TKinter 将用户名和密码保存在字符串文件中
- javascript - 通过键javascript对一组对象进行分组
- javascript - 将子 Vue 项目嵌入父 Vue 项目并访问父 Vuex 存储
- botframework - 在 MS Teams 客户端上无法访问内部托管的图像
- javascript - 需要帮助了解 Vue.js 功能
- antlr - 如何在单个规则中指定多个词法分析器规则?
- rust - 如何让结构将自身传递给另一个结构的函数
- python-3.x - 有没有办法使用 cloud-ndb 将用户与项目正确匹配