Rvest 返回 table 包含 NA
Rvest returning table containing NAs
我正在尝试使用 Rvest 包从 table 中抓取数据,但是 table 返回时充满了 NA,并且除了第一行之外的所有内容都丢失了。
我该如何解决这个问题?
Source <- "https://www.viewbase.com/bitfinex_long_short_position"
Longs <- read_html(Source)%>%html_node(xpath='/html/body/div[1]/div[3]/div[2]/div[2]/div[2]/div/div[2]/div/div[2]/table')%>%
html_table(fill=TRUE)%>% as.data.frame()
Longs
Long Position 24H Change Short Position 24H Change % Long vs. Short NA NA NA NA
1 NA NA NA NA NA NA NA NA NA NA
您可能必须使用 RSelenium 才能获得与您在网页上看到的完全相同的输出。但是,您也可以从网页上提供的 json 文件中获取大部分信息。
jsonlite::fromJSON('https://api.viewbase.com/margin/bfx_long_short_now') %>%
dplyr::bind_rows()
# BTCUSD BTCUST ETHUSD ETHUST ETHBTC USTUSD XRPUSD XRPBTC BABUSD
# <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#1 58323 5.82e4 4.08e3 4078. 7.01e-2 1.00e0 1.57e0 2.69e-5 252
#2 58100 5.81e4 3.88e3 3880. 6.68e-2 1.00e0 1.52e0 2.62e-5 252
#3 31557. 2.30e3 1.93e5 21972. 3.62e+5 3.72e5 5.07e7 2.54e+7 8843.
#4 31547. 2.30e3 1.87e5 21944. 4.05e+5 1.41e6 5.11e7 2.53e+7 8843.
#5 559. 1.97e2 2.43e5 442. 1.02e+4 9.09e6 9.71e6 1.71e+7 15050.
#6 601. 3.81e1 2.46e5 598. 9.35e+3 1.34e5 9.97e6 1.73e+7 15050.
# … with 27 more variables: BABBTC <dbl>, LTCUSD <dbl>, LTCBTC <dbl>,
# EOSUSD <dbl>, EOSBTC <dbl>, ETCUSD <dbl>, ETCBTC <dbl>,
# BSVUSD <dbl>, BSVBTC <dbl>, XTZUSD <dbl>, XTZBTC <dbl>,
# ZECUSD <dbl>, ZECBTC <dbl>, LEOUSD <dbl>, LEOUST <dbl>,
# DSHUSD <dbl>, DSHBTC <dbl>, IOTUSD <dbl>, IOTBTC <dbl>,
# NEOUSD <dbl>, NEOBTC <dbl>, OMGUSD <dbl>, OMGBTC <dbl>,
# XLMUSD <dbl>, XLMBTC <dbl>, XMRUSD <dbl>, XMRBTC <dbl>
我正在尝试使用 Rvest 包从 table 中抓取数据,但是 table 返回时充满了 NA,并且除了第一行之外的所有内容都丢失了。
我该如何解决这个问题?
Source <- "https://www.viewbase.com/bitfinex_long_short_position"
Longs <- read_html(Source)%>%html_node(xpath='/html/body/div[1]/div[3]/div[2]/div[2]/div[2]/div/div[2]/div/div[2]/table')%>%
html_table(fill=TRUE)%>% as.data.frame()
Longs
Long Position 24H Change Short Position 24H Change % Long vs. Short NA NA NA NA
1 NA NA NA NA NA NA NA NA NA NA
您可能必须使用 RSelenium 才能获得与您在网页上看到的完全相同的输出。但是,您也可以从网页上提供的 json 文件中获取大部分信息。
jsonlite::fromJSON('https://api.viewbase.com/margin/bfx_long_short_now') %>%
dplyr::bind_rows()
# BTCUSD BTCUST ETHUSD ETHUST ETHBTC USTUSD XRPUSD XRPBTC BABUSD
# <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#1 58323 5.82e4 4.08e3 4078. 7.01e-2 1.00e0 1.57e0 2.69e-5 252
#2 58100 5.81e4 3.88e3 3880. 6.68e-2 1.00e0 1.52e0 2.62e-5 252
#3 31557. 2.30e3 1.93e5 21972. 3.62e+5 3.72e5 5.07e7 2.54e+7 8843.
#4 31547. 2.30e3 1.87e5 21944. 4.05e+5 1.41e6 5.11e7 2.53e+7 8843.
#5 559. 1.97e2 2.43e5 442. 1.02e+4 9.09e6 9.71e6 1.71e+7 15050.
#6 601. 3.81e1 2.46e5 598. 9.35e+3 1.34e5 9.97e6 1.73e+7 15050.
# … with 27 more variables: BABBTC <dbl>, LTCUSD <dbl>, LTCBTC <dbl>,
# EOSUSD <dbl>, EOSBTC <dbl>, ETCUSD <dbl>, ETCBTC <dbl>,
# BSVUSD <dbl>, BSVBTC <dbl>, XTZUSD <dbl>, XTZBTC <dbl>,
# ZECUSD <dbl>, ZECBTC <dbl>, LEOUSD <dbl>, LEOUST <dbl>,
# DSHUSD <dbl>, DSHBTC <dbl>, IOTUSD <dbl>, IOTBTC <dbl>,
# NEOUSD <dbl>, NEOBTC <dbl>, OMGUSD <dbl>, OMGBTC <dbl>,
# XLMUSD <dbl>, XLMBTC <dbl>, XMRUSD <dbl>, XMRBTC <dbl>