【问题标题】:Not able to Import table (Option Chain) from link : https://www.nseindia.com/option-chain无法从链接导入表(期权链):https://www.nseindia.com/option-chain
【发布时间】:2020-08-18 08:33:41
【问题描述】:

能够成功提取数据,但由于网页正在修改,我发现很难拉出表格。最初使用旧链接的代码是:“https://www1.nseindia.com/live_market/dynaContent/live_watch/option_chain/optionKeys.jsp?symbolCode=-10003&symbol=NIFTY&symbol=NIFTY&instrument=OPTIDX&date=-&segmentLink=17&segmentLink =17"如下,

nse <- url1  %>% read_html() %>%
html_table(fill = TRUE)
nse_ticker <- nse[[3]] 

my_df <- as.data.frame(read_html(url1) %>% html_table(fill=TRUE))

如果您能帮助我从新链接中提取 html 表格格式的数据,那将非常有帮助:https://www.nseindia.com/option-chain

【问题讨论】:

    标签: r json web-scraping


    【解决方案1】:

    网站调用 API 来自:

    • https://www.nseindia.com/api/option-chain-indices?symbol=[index]如果您选择市场指数
    • https://www.nseindia.com/api/option-chain-equities?symbol=[equity] 如果您选择股票代码

    您可以使用jsonlite::fromJSON()读取数据:

    symbol <- "NIFTY"
    is_market_index <- TRUE
    if (is_market_index) {
      url <- paste0("https://www.nseindia.com/api/option-chain-indices?symbol=", symbol)
    } else
      url <- paste0("https://www.nseindia.com/api/option-chain-equities?symbol=", symbol)
    data <- jsonlite::fromJSON(url)
    # The table you want is probably this one: 
    do.call(data.frame, data$records$data)
    

    【讨论】:

      猜你喜欢
      • 2022-11-09
      • 1970-01-01
      • 1970-01-01
      • 2017-11-08
      • 1970-01-01
      • 1970-01-01
      • 2015-06-09
      • 2013-03-28
      • 1970-01-01
      相关资源
      最近更新 更多