- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我花了很长时间使用 R 来尝试抓取 NBA 数据,到目前为止我都是通过反复试验来完成的,但最后我发现了这个 documentation 。前段时间我在抓取 shotchartdetail 时遇到了一些问题,当我发现 this 时我发现了问题。
为此,这就是我所做的:
shotURLtotal <- paste0("http://stats.nba.com/stats/shotchartdetail?CFID=33&CFPARAMS=2016-17&ContextFilter=&ContextMeasure=FGA&DateFrom=&DateTo=&GameID=&GameSegment=&LastNGames=0&LeagueID=00&Location=&MeasureType=Base&Month=0&OpponentTeamID=0&Outcome=&PaceAdjust=N&PerMode=PerGame&Period=0&PlayerID=0&PlusMinus=N&Position=&Rank=N&RookieYear=&Season=2016-17&SeasonSegment=&SeasonType=Regular+Season&TeamID=0&VsConference=&VsDivision=&mode=Advanced&showDetails=0&showShots=1&showZones=0&PlayerPosition=")
Season <- rjson::fromJSON(file = shotURLtotal, method="C")
Names <- Season$resultSets[[1]][[2]]
Season <- data.frame(matrix(unlist(Season$resultSets[[1]][[3]]), ncol = length(Names), byrow = TRUE))
colnames(Season) <- Names
但是当我尝试对 shotchartlineupdetail 执行相同操作时,它不起作用,我怀疑它与 CFID 有关,但我不知道知道这意味着什么,这就是我尝试过的。
shoturl <- "http://stats.nba.com/stats/shotchartlineupdetail/?leagueId=00&season=2016-17&seasonType=Regular+Season&teamId=0&outcome=&location=&month=0&seasonSegment=&dateFrom=&dateTo=&opponentTeamId=0&vsConference=&vsDivision=&gameSegment=&period=0&lastNGames=0&gameId=&group_id=0&contextFilter=&contextMeasure=FGA"
Season <- rjson::fromJSON(file = shoturl, method="C")
Names <- Season$resultSets[[1]][[2]]
Season <- data.frame(matrix(unlist(Season$resultSets[[1]][[3]]), ncol = length(Names), byrow = TRUE))
colnames(Season) <- Names
预期结果应该是包含以下列的数据框:
c("GRID_TYPE", "GAME_ID", "GAME_EVENT_ID", "GROUP_ID", "GROUP_NAME", "PLAYER_ID", "PLAYER_NAME", "TEAM_ID", "TEAM_NAME", "PERIOD", "MINUTES_REMAINING", "SECONDS_REMAINING", "EVENT_TYPE", "ACTION_TYPE", "SHOT_TYPE", "SHOT_ZONE_BASIC", "SHOT_ZONE_AREA", "SHOT_ZONE_RANGE", "SHOT_DISTANCE", "LOC_X", "LOC_Y", "SHOT_ATTEMPTED_FLAG", "SHOT_MADE_FLAG", "GAME_DATE", "HTM", "VTM")
您可以通过以下方式获得:
shoturl <- "http://stats.nba.com/stats/shotchartlineupdetail/?leagueId=00&season=2016-17&seasonType=Regular+Season&teamId=0&outcome=&location=&month=0&seasonSegment=&dateFrom=&dateTo=&opponentTeamId=0&vsConference=&vsDivision=&gameSegment=&period=0&lastNGames=0&gameId=&group_id=0&contextFilter=&contextMeasure=FGA"
Season <- rjson::fromJSON(file = shoturl, method="C")
Names <- Season$resultSets[[1]][[2]]
所以名称将是数据框的列,问题是,如果不使用CFID,您会得到这些列的数据应该为空的列表,答案是@be_green给出的是联赛平均值,我需要球队的具体数据
最佳答案
所以我认为这里的问题是您需要将 PlayerID
和 TeamID
传递给 API。使用下面的 PlayerID = 2544
和 TeamID = 1610612739
作为示例似乎可行:
library(tidyverse)
res <- jsonlite::read_json("https://stats.nba.com/stats/shotchartdetail?AheadBehind=&ClutchTime=&ContextFilter=&ContextMeasure=PTS&DateFrom=&DateTo=&EndPeriod=&EndRange=&GameID=&GameSegment=&LastNGames=0&LeagueID=00&Location=&Month=0&OpponentTeamID=0&Outcome=&Period=0&PlayerID=2544&PlayerPosition=&PointDiff=&Position=&RangeType=&RookieYear=&Season=&SeasonSegment=&SeasonType=Regular+Season&StartPeriod=&StartRange=&TeamID=1610612739&VsConference=&VsDivision=")
# res %>% str(max.level = 3)
header_names <- flatten_chr(res$resultSets[[1]]$headers)
header_names
#> [1] "GRID_TYPE" "GAME_ID" "GAME_EVENT_ID"
#> [4] "PLAYER_ID" "PLAYER_NAME" "TEAM_ID"
#> [7] "TEAM_NAME" "PERIOD" "MINUTES_REMAINING"
#> [10] "SECONDS_REMAINING" "EVENT_TYPE" "ACTION_TYPE"
#> [13] "SHOT_TYPE" "SHOT_ZONE_BASIC" "SHOT_ZONE_AREA"
#> [16] "SHOT_ZONE_RANGE" "SHOT_DISTANCE" "LOC_X"
#> [19] "LOC_Y" "SHOT_ATTEMPTED_FLAG" "SHOT_MADE_FLAG"
#> [22] "GAME_DATE" "HTM" "VTM"
res$resultSets[[1]]$rowSet %>%
map(`[`, 1:24) %>%
map(~ set_names(., header_names)) %>%
bind_rows()
#> # A tibble: 8,369 x 24
#> GRID_TYPE GAME_ID GAME_EVENT_ID PLAYER_ID PLAYER_NAME TEAM_ID TEAM_NAME
#> <chr> <chr> <int> <int> <chr> <int> <chr>
#> 1 Shot Cha~ 002030~ 20 2544 LeBron Jam~ 1.61e9 Clevelan~
#> 2 Shot Cha~ 002030~ 28 2544 LeBron Jam~ 1.61e9 Clevelan~
#> 3 Shot Cha~ 002030~ 35 2544 LeBron Jam~ 1.61e9 Clevelan~
#> 4 Shot Cha~ 002030~ 54 2544 LeBron Jam~ 1.61e9 Clevelan~
#> 5 Shot Cha~ 002030~ 67 2544 LeBron Jam~ 1.61e9 Clevelan~
#> 6 Shot Cha~ 002030~ 76 2544 LeBron Jam~ 1.61e9 Clevelan~
#> 7 Shot Cha~ 002030~ 224 2544 LeBron Jam~ 1.61e9 Clevelan~
#> 8 Shot Cha~ 002030~ 233 2544 LeBron Jam~ 1.61e9 Clevelan~
#> 9 Shot Cha~ 002030~ 235 2544 LeBron Jam~ 1.61e9 Clevelan~
#> 10 Shot Cha~ 002030~ 322 2544 LeBron Jam~ 1.61e9 Clevelan~
#> # ... with 8,359 more rows, and 17 more variables: PERIOD <int>,
#> # MINUTES_REMAINING <int>, SECONDS_REMAINING <int>, EVENT_TYPE <chr>,
#> # ACTION_TYPE <chr>, SHOT_TYPE <chr>, SHOT_ZONE_BASIC <chr>,
#> # SHOT_ZONE_AREA <chr>, SHOT_ZONE_RANGE <chr>, SHOT_DISTANCE <int>,
#> # LOC_X <int>, LOC_Y <int>, SHOT_ATTEMPTED_FLAG <int>,
#> # SHOT_MADE_FLAG <int>, GAME_DATE <chr>, HTM <chr>, VTM <chr>
由reprex package于2019年3月26日创建(v0.2.1)
关于r - 使用 rjson 在 R 中抓取 NBA 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47745164/
https://jsfiddle.net/7jux5rLx/3/ ? 上面的完整代码 我正在尝试为 8 支球队制作随机 nba 选秀抽签(使用包含 8 个图像的数组),单击按钮后会显示第 8 顺位球队
我是网络抓取的新手,需要一些帮助。我想使用 Xpath 抓取 NBA 的首发阵容、球队和球员的位置。我只从名字开始,因为我遇到了一个问题。 到目前为止,这是我的代码: from urllib.requ
Epic商城喜加一:免费领取电脑游戏《NBA 2K21》 Epic商城今日可免费领取电脑游戏《NBA2K21》,本作将带给你NBA篮球与文化世界的沉浸式体验。 无论你是新玩家、老玩家还是回归玩家
我找到了 Greg Reda 关于从 nba.com 中抓取 HTML 的博文: http://www.gregreda.com/2015/02/15/web-scraping-finding-the
在此示例中,我希望使用 NBA API 收集特定数据,我试图从规范化字典中检索随机球员的全名和高度 from nba_api.stats.static import players from nba_
我在从 stats.nba 网站抓取数据时遇到了一些麻烦。我已经这样做了几次,所以不确定发生了什么变化,但想看看是否有其他人遇到同样的问题。 我通常只是像这样使用带有请求 url 的 jsonlite
我对使用 fetch() 有点陌生,并且在从 API 检索数据时遇到问题。 function getStats() { var url = "https://stats.nba.com/stats/l
我在 pandas 中创建一种非常特殊的 boolean 列时遇到了问题。我正在处理 NBA 数据,我想为球员何时获得三双创建一个专栏。此代码有效: james_harden['trip_dub']
我想用 rvest 抓取一张 NBA 球队统计数据表,我试过使用: 表格元素 library(rvest) url_nba % read_html %>% html_nodes('table') %>
这可能有点偏离主题,但由于解决方案是一般表达式问题,我认为在这里解决它可能会很有趣。 我正在尝试访问一个 URL,该 URL 包含我通常为分析而抓取的数据: http://stats.nba.com/
谁能帮我解析这个以在 Swift 4 中获取数据。我不确定如何使用 SwiftyJSON 解析这样的数据。 http://stats.nba.com/stats/leaguestandingsv3?L
我正在尝试解析篮球引用.com ( https://www.basketball-reference.com/leagues/NBA_1980.html ) 中的杂项统计表。但是,我想解析的表位于 h
我正在尝试解析来自 EPSN 的球员级别 NBA 得分数据。以下是我尝试的初始部分: import numpy as np import pandas as pd import requests fr
经过很长时间的努力,我找到了一种方法,以逗号分隔值的形式从 nba.com 获取数据 这是结果http://stats.nba.com/stats/leaguedashplayerstats?Date
我正在阅读 https://www.nba.com/history/awards/mvp .我尝试按降序打印出名称和计数。 Kareem Abdul-Jabbar: 6 Bill Russell: 5
我想从这个网页的表格中提取数据:http://stats.nba.com/league/team/#!/advanced/ .不幸的是,下面的代码没有给我任何东西,因为汤(见下文)不包含“td”,即使
我想抓取 NBA 高级统计数据。首先,我只想抓取团队的名称,但我遇到了一个问题,即它没有收集任何信息。我可能在 find_all 函数中寻找错误的东西。感谢您的帮助! import requests
我正在尝试在单场 NBA 比赛中制作球员和篮球运动的动画。在 NBA 中,比赛时钟从 12 分钟开始减少到 11:59 分钟、11:58、11:57 分钟等。因此,一次控球的数据集有一个从 718.8
我花了很长时间使用 R 来尝试抓取 NBA 数据,到目前为止我都是通过反复试验来完成的,但最后我发现了这个 documentation 。前段时间我在抓取 shotchartdetail 时遇到了一些
我正在尝试向 NBA 投篮图添加联合图, 所以它看起来像这样: 问题是我无法让这些条正常工作,我真的不知道为什么会这样。 如果有人指导我为了使用 NBA 图表我必须在联合图中更改什么,那就太好了。 N
我是一名优秀的程序员,十分优秀!