我正试图搜集关于R星小行星轨道的信息.我试过rvest和selectorgadget,但网站是动态的.网站:https://ssd.jpl.nasa.gov/tools/sbdb_lookup.html#/?sstr=2006%20WP1

I am wanting to get the data for the Osculating Orbital Elements under the Orbit Parameters drop down shown here: enter image description here

我对html或json不是很熟悉,所以我正在寻找帮助将这个表下载到R中.

推荐答案

使用他们的API.

作为如何使用API的一个例子,判断页面,我们可以看到使用的参数并重新创建它们(虽然我已经更改为使用直接标识符而不是搜索字符串,因为它更快):

# Query parameters
params <- list(
  spk              = "3359266",
  `alt-des`        = 1,
  `alt-orbits`     = 1,
  `ca-data`        = 1,
  `ca-time`        = "both",
  `ca-tunc`        = "both",
  `cd-epoch`       = 1,
  `cd-tp`          = 1,
  discovery        = 1,
  `full-prec`      = 1,
  `nv-fmt`         = "both",
  `orbit-defs`     = 1,
  `phys-par`       = 1,
  `r-notes`        = 1,
  `r-observer`     = 1,
  `radar-obs`      = 1,
  sat              = 1,
  `vi-data`        = 1,
  www              = 1
)

# Make query string
param_string <- paste0(names(params), "=", params, collapse = "&")

现在检索数据:

dat <- jsonlite::fromJSON(
  sprintf("https://ssd-api.jpl.nasa.gov/sbdb.api?%s", param_string)
  )

# Inspect 
dat$orbit$elements

       sigma  name                                                 title units                value  label
1   .0010672     e                                          eccentricity  <NA>    .6067433473394845      e
2   .0036921     a                                       semi-major axis    au    1.706954591882637      a
3  .00037377     q                                   perihelion distance    au    .6712712490472621      q
4   .0093907     i inclination; angle with respect to x-y ecliptic plane   deg    5.896394792692075      i
5  .00085394    om                       longitude of the ascending node   deg    234.2975070934102   node
6   .0079426     w                                argument of perihelion   deg    98.19292045631209   peri
7    .086629    ma                                          mean anomaly   deg    22.10748390629943      M
8    .033722    tp                            time of perihelion passage   TDB 2454008.477177134853     tp
9       <NA> tp_cd                            time of perihelion passage   TDB 2006-Sep-29.97717713     tp
10    2.6428   per                               sidereal orbital period     d    814.5755667075963 period
11  .0014339     n                                           mean motion deg/d    .4419479477577152      n
12  .0059322    ad                                     aphelion distance    au    2.742637934718012      Q

Html相关问答推荐

如何通过将项目包裹在迪夫中来保持最右列的对齐方式来对齐项目?

CSS复选框并排

如何通过扭曲元素来倾斜元素?

水平卷轴的内容保持堆叠

有没有什么方法可以很容易地给一个SVG一个插框阴影?

仅在过渡之前删除填充

(HTML框架标签)点击后目标框架将不再工作

按钮悬停效果不影响按钮内的图标

当div位于flexbox中时,如何使div的宽度与高度相同

如何为高度较小的块制作边框动画?

为什么当我按第三个按钮时,前两个按钮会跳动?

如何使Bootstrap 5卡可点击

如何通过像图像一样的 元素来调整 SVG 图标的大小

为什么我的 div 元素没有形成一个圆形时钟?

输入框不是全宽

单击按钮时更改字体真棒图标

如何在滚动行中显示一张图片和下一张图片的一半?

在 jinja 模板内的 html 表中嵌套 For 循环

svg 内容超过元素

使用 CSS 的发光边框动画没有流畅的过渡