使用 Rvest 抓取包含多个表的 URL

2023-12-04

我正在尝试学习如何做一些scraping使用 rvest 包。我正在用这个url加载信息,我试图获取 URL 中标记为“高级”的表的信息:

enter image description here

当我尝试加载信息时,我所能得到的只是第一个表。我的意思是,当我使用谷歌浏览器检查时,我看到表中的数字被标记为 class="right"。这就是我尝试过的:

library(rvest)
library(stringr)

url = url("https://www.basketball-reference.com/players/l/leonaka01.html")

read = html_nodes(read_html(url),
                         '.right')

read2 = str_replace_all(html_text(read), 
                     "[\r\n\t]" , "")

我看到的是 read 是一个包含 351 个值的列表。好吧,那就是他检测到了 351 个标记为正确的值。如果我得到最后一个,read2[351],我会看到“29.3”,这是第一个表的最后一个值。

那么...我怎样才能获得其他表的信息呢?我从未告诉 R 获取第一个表,我想我会获取所有表的所有信息,下一步将以某种方式过滤“高级”表值。

Regards


“高级”表隐藏在注释下,因此无法直接访问。我们可以使用以下方法将所有评论集中在一起xpath然后从中解析表格。

library(rvest)
url = "https://www.basketball-reference.com/players/l/leonaka01.html"

url %>%
  read_html %>%
  html_nodes(xpath = '//comment()') %>%
  html_text() %>%
  toString() %>%
  read_html() %>%
  html_node('table#advanced') %>%
  html_table() 

#      Season Age  Tm  Lg Pos   G    MP  PER   TS%  3PAr   FTr ORB% ...
#1    2011-12  20 SAS NBA  SF  64  1534 16.6 0.573 0.270 0.218  7.9 ...
#2    2012-13  21 SAS NBA  SF  58  1810 16.4 0.592 0.331 0.240  4.3 ...
#3    2013-14  22 SAS NBA  SF  66  1923 19.4 0.602 0.282 0.195  4.6 ...
#4    2014-15  23 SAS NBA  SF  64  2033 22.0 0.567 0.234 0.307  4.8 ...
#5    2015-16  24 SAS NBA  SF  72  2380 26.0 0.616 0.267 0.306  4.7 ...
#6    2016-17  25 SAS NBA  SF  74  2474 27.6 0.610 0.295 0.406  3.7 ...
#7    2017-18  26 SAS NBA  SF   9   210 26.0 0.572 0.315 0.342  3.1 ...
#8    2018-19  27 TOR NBA  SF  60  2040 25.8 0.606 0.267 0.377  4.2 ...
#9    2019-20  28 LAC NBA  SF   6   183 35.1 0.572 0.230 0.319  5.5 ...
#10    Career  NA     NBA     473 14587 22.8 0.599 0.276 0.318  4.8 ...
#11            NA              NA    NA   NA    NA    NA    NA   NA ...
#12 7 seasons  NA SAS NBA     407 12364 22.1 0.597 0.279 0.305  4.8 ...
#13  1 season  NA TOR NBA      60  2040 25.8 0.606 0.267 0.377  4.2 ...
#14  1 season  NA LAC NBA       6   183 35.1 0.572 0.230 0.319  5.5 ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Rvest 抓取包含多个表的 URL 的相关文章

  • 简单的数据框重塑

    我刚刚从长时间的写作中断中回到 R 并且在记住如何重塑数据方面遇到了一些实际问题 我知道我想做的事情很容易 但出于某种原因 我今晚很愚蠢 并且将自己与融化和重塑混淆了 如果有人能快速指出我正确的方向 我将不胜感激 我有一个这样的数据框 pe
  • 在 R 中进行 Cox 回归后,将预测危险比列添加到数据帧中

    在 R 中运行 Cox PH 回归后 我需要在数据框中添加预测风险比的列 数据框是面板数据 其中 numgvkey 如果公司标识符 和年龄是时间标识符 您可以从此链接下载一小部分日期 https drive google com file
  • 将密度曲线拟合到 R 中的直方图

    R中有没有可以将曲线拟合到直方图的函数 假设您有以下直方图 hist c rep 65 times 5 rep 25 times 5 rep 35 times 10 rep 45 times 4 看上去很正常 但其实是歪曲的 我想拟合一条倾
  • 如何调整ggplot直方图的时间刻度轴

    我正在使用一个数据框 其中一列包含POSIXct日期时间值 我正在尝试使用绘制这些时间戳的直方图ggplot2但我有两个问题 我不知道如何设置 binwidthgeom histogram 我想将每个垃圾箱设置为一天或一周 我尝试提供 di
  • R read_excel:libxls 错误:无法解析文件

    我试图使用 readxl read excel 将 xls 文件读入 R 但它给出了以下错误 Error filepath data xls libxls error Unable to parse file 还尝试了 readxl exc
  • R 中的 NA 替换函数

    我正在尝试替换矩阵中的 NA mat 零 我在用着mat is na mat lt 0 当我有 18946 个变量的 94531 个观察值或更小的矩阵时 效果很好 但我在 22752 个变量的 112039 个观察值的矩阵上尝试它 R 显示
  • R-了解 akima::interp 结果中的 NA 值

    我有以下数据框 ref dat k Intensity Slope 1 0 021467214 33 16 2 0 012444759 33 8 3 0 006079156 33 4 4 0 003792025 33 2 5 0 02276
  • 使用 Scala 进行网页抓取 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 将列表中的列转换为 R 中的数据框

    我有使用 R 创建的以下列表 set seed 326581 X1 rnorm 10 0 1 Y1 rnorm 10 0 2 data data frame X1 Y1 lst lt replicate 100 df smpl lt dat
  • ggplot 中的错误问题:“grid.Call(”L_textBounds“, as.graphicsAnnot(x$label), x$x, x$y, … 中的错误”[重复]

    这个问题在这里已经有答案了 我试图在 ggplot 中制作一个条形图 其中我通过强制其中一些标签为长度为零的字符串 即 来指定要显示的标签 但是 我收到错误 Error in grid Call L textBounds as graphi
  • 如何获得属于五分位数的x?

    我正在大学学习使用 R 进行计量经济学项目 所以请原谅我的笨拙 基本上 使用并给出 一个矩阵 股票价格 行 天 列 公司股票价格 另一个矩阵 市值 行 天 列 公司市值 我必须收集第三个矩阵每天观察的属于市值分布第一五分位数的股票价格 然后
  • 从 R 环境中删除对象

    我正在阅读 Hadley 的 Advanced R 在第 8 章中 他说我们可以使用以下方法从环境中删除对象 rm 但是 移除该物体后我仍然可以看到该物体 这是我的代码 e lt new env e a lt 1 e b lt 2 e a
  • 当每个记录都是一个段落并且某些记录有 4 个字段而其他记录有 6 个字段时,如何将文本文件读入 R

    如何读取文本文件 其中每条记录都是一个段落 每个换行符表示单独的字段 复杂的是 有些记录有 4 行 有些记录有 6 行 当字段数量的差异为 1 时 DWin 解决了我的问题 但当字段数量差异为 2 时 一切都崩溃了 你可以有一个在这里看看他
  • 在另一个 Rmd 中运行选定的块

    我已经在源 Rmd 文件中运行了分析 并且希望仅使用few来自源的块 我已经看到了一些关于从源 Rmd 中提取所有块的答案来自另一个 Rmd 中的 Rmd 文件的源代码 https stackoverflow com questions 4
  • R 编程:如何计算数据框中两个单元格之间的差异并将它们保存在新列中

    尝试学习 R 并陷入自相关示例中 我想将 x 的差异与 y 的差异进行回归 我在数据框中有 x 和 y 并且希望将 x2 x1 的差值保存在新列 例如 dx 中 我不知道该怎么做 我拥有的 data1 x y 5 3 8 9 3 1 1 5
  • 仅保留百分比的尾随零

    给出以下示例 library pander tableAbs lt Titanic 1 1 tablePct lt round prop table tableAbs 100 2 table lt cbind tableAbs tableP
  • 解析,用三点参数替换

    让我们考虑一个典型的deparse substitute R call f1 lt function u x y print deparse substitute x varU vu varX vx varY vy f1 u varU x
  • 为什么这些数字不相等?

    下面的代码显然是错误的 有什么问题 i lt 0 1 i lt i 0 05 i 1 0 15 if i 0 15 cat i equals 0 15 else cat i does not equal 0 15 i does not eq
  • 带 R 的多彩标题

    我想添加颜色某些词在我的图表标题中 我已经能够在这里找到一些先例 http blog revolutionanalytics com 2009 01 multicolor text in r html 具体来说 我希望用撇号括起来的文本 在
  • R - 通过覆盖和递归合并列表

    假设我有两个带有名字的列表 a list a 1 b 2 c list d 1 e 2 d list a 1 b 2 b list a 2 c list e 1 f 2 d 3 e 2 我想递归地合并这些列表 如果第二个参数包含冲突的值 则

随机推荐

  • 多维张量的前 K 个索引

    我有一个 2D 张量 我想获取前 k 个值的索引 我知道关于pytorch 的 topk功能 pytorch 的 topk 函数的问题是 它计算某个维度上的 topk 值 我想获得两个维度上的 topk 值 例如对于以下张量 a torch
  • 如何使用 tkinter 将按钮移到父级之外?

    我目前正在尝试使用 tkinter 的拖放功能来移动按钮 问题是 当我尝试移动按钮时 它正在工作 但我无法将其移到他的父母之外 我有一个 LabelFrame 其中包含几个带有按钮的 LabelFrame 我试图将一个按钮从 LabelFr
  • 在 MATLAB 中获取向量中的绝对峰值位置

    假设我有这样的 A 矩阵 A 0 0 0 0 0 0 106 10 14 20 20 23 27 26 28 28 28 23 28 28 21 18 106 14 12 17 16 15 22 19 20 18 21 23 23 18 1
  • JpaSpecificationExecutor :带有规范的复杂查询

    我实际上正在使用不同的过滤器进行研究 当我使用 JpaRepository 进行简单查询时 我发现 JpaSpecificationExecutor 可以使用 Criterias 进行动态查询 我的问题是我需要使用 group by 和 c
  • C++ 中 double/float 类型二进制序列化的可移植性

    C 标准不讨论 float 和 double 类型的底层布局 只讨论它们应表示的值的范围 对于有符号类型也是如此 是两人的恭维还是别的什么 我的问题是 用于以可移植方式序列化 反序列化 POD 类型 例如 double 和 float 的技
  • 如何在制表器中动态地将行添加到嵌套树数据中?

    对于我的项目 我需要根据用户提交的表单数据将新的子行添加到数据树中的父行 我无法在文档中找到如何执行此操作的示例 使用 addRow 函数可以实现这一点吗 我如何声明哪个父级添加子行 或者我是否需要构建一个自定义函数 将新行插入表 JSON
  • AsyncStorage.getItem 返回未定义:React Native

    代码流程是 我正在检查是否有一个名为列表对象存在于异步存储中 如果它不存在 那么我创建一个对象 添加一些属性并设置存储 我让商店obj因为我接下来要比较if健康 状况 If the 列表对象条目已经存在 第2次 则直接来到第2个块 进行比较
  • 迭代变量如何只读?

    在 C 规范的 8 8 4 中 提供了以下示例 形式的 foreach 语句 foreach V v in x embedded statement 然后扩展为 E e C x GetEnumerator try V v while e M
  • 更改 Woocommerce 中购买产品的“添加到购物车”按钮

    我想做的是这样的 客户购买产品 它不会显示 添加到购物车 而是显示 查看数字产品 并具有指向特定页面的自定义链接 我正在查找 WooCommerce 的数据库 并试图弄清楚如何知道某个商品已被购买 以便我可以弄清楚如何让一个函数自动执行此操
  • 支持所有 Android 平板电脑分辨率

    我们公司的设计师希望我给他 Android 平板电脑的分辨率 以便他开始设计一个新的应用程序 我知道有很多不同的解决方案 此处列出 安卓平板电脑 我还知道 Android 对不同 dpi 的划分 ldpi mdpi 我的问题 我应该告诉设计
  • 如何更改CListCtrl列的颜色

    我想将特定列的背景颜色更改为对话框的颜色 灰色 我怎样才能实现它 void CUcsOpTerminalDlg OnCustomdrawFeatureList NMHDR pNMHDR LRESULT pResult LPNMCUSTOMD
  • 正则表达式 javascript 中仅排除 0

    我想创建一个正则表达式 它将采用一到十个数值 但如果只提供 0 则它不应该接受 例如 1 is valid input 1111123455 is valid input 01 is valid input 010 is valid inp
  • 如何使用 Java DeflaterOutputStream

    编辑 我真的只需要知道 Deflater 派生类何时决定写入页眉和页脚数据 以及如何利用这些事实 我真的很想做以下事情 用一些字节为 Deflater 派生类准备字典 我想我明白了 发送一些要压缩的数据到 Deflater 派生类 我想我明
  • 填充第二个选择框 - 绑定问题

    我使用以下代码用城市填充第二个选择框 jQuery country live change function populateCityListBox alert jQuery select city val function populat
  • Objective-C 从自定义单元格访问方法

    好吧 这可能是一个新手问题 但我需要帮助 我有一个 someview m 其中有一个在 customCell h 和 m 中定义的自定义单元格 所以在 someview m 我有 UITableViewCell tableView UITa
  • 如何在php中创建hmac md5?

    我正在使用 payU 信用卡系统 但我没办法 payU 告诉我必须创建 hmac md5 哈希值 我的密钥是 3 9 X4 660 ak h6 T 我想转换为 HMAC MD5 哈希 8GEMISEPE6208617192012 12 15
  • 创建文件夹并使 ES File Explorer 添加我的应用程序的图标

    我想将文件夹与我的应用程序关联起来 就像 WhatsApp 和 Viber 那样 我尝试创建文件夹 File folder new File Environment getExternalStorageDirectory getPath M
  • 注释可以出现在 DOCTYPE 声明之前吗?

    我想发表评论 style 位于 HTML 代码的最顶部 位于 DOCTYPE 声明之前 这符合标准吗 主流浏览器都支持吗 这样做有什么陷阱吗 It is 完全有效 to do However 带来allIE 版本怪癖模式 除非是forced
  • 如何避免 Xstream 生成带有 & 或 "e 或类似字符的 xml 文件?

    我开始工作Xstream与Java 我有一个名为的汽车列表CarList 我有一辆汽车作为一个名为Car XStream xstream new XStream new StaxDriver xstream alias Car Car cl
  • 使用 Rvest 抓取包含多个表的 URL

    我正在尝试学习如何做一些scraping使用 rvest 包 我正在用这个url加载信息 我试图获取 URL 中标记为 高级 的表的信息 当我尝试加载信息时 我所能得到的只是第一个表 我的意思是 当我使用谷歌浏览器检查时 我看到表中的数字被