【问题标题】:Excel Power Query DataSource.Error: The underlying connection was closed: An unexpected error occurred on a receiveExcel Power Query DataSource.Error:基础连接已关闭:接收时发生意外错误
【发布时间】:2019-12-30 06:32:34
【问题描述】:

我在 Office Excel 365 中创建了一个 Web 查询,如下所示:

查询的名称是 LivSTK

let

    Source = Json.Document(Web.Contents("https://beta.nseindia.com/api/equity-stockIndices?index=SECURITIES%20IN%20F%26O")),
    data = Source[data],
    #"Converted to Table" = Table.FromList(data, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"symbol", "identifier", "series", "open", "dayHigh", "dayLow", "lastPrice", "previousClose", "change", "pChange", "totalTradedVolume", "totalTradedValue", "lastUpdateTime", "yearHigh", "yearLow", "nearWKH", "nearWKL", "perChange365d", "date365dAgo", "chart365dPath", "date30dAgo", "perChange30d", "chart30dPath", "chartTodayPath", "meta"}, {"symbol", "identifier", "series", "open", "dayHigh", "dayLow", "lastPrice", "previousClose", "change", "pChange", "totalTradedVolume", "totalTradedValue", "lastUpdateTime", "yearHigh", "yearLow", "nearWKH", "nearWKL", "perChange365d", "date365dAgo", "chart365dPath", "date30dAgo", "perChange30d", "chart30dPath", "chartTodayPath", "meta"}),
    #"Sorted Rows" = Table.Sort(#"Expanded Column1",{{"symbol", Order.Ascending}}),
    #"Expanded meta" = Table.ExpandRecordColumn(#"Sorted Rows", "meta", {"companyName", "industry"}, {"companyName", "industry"}),
    #"Changed Type" = Table.TransformColumnTypes(#"Expanded meta",{{"open", type number}, {"dayHigh", type number}, {"dayLow", type number}, {"lastPrice", type number}, {"previousClose", type number}, {"change", type number}, {"pChange", type number}, {"totalTradedVolume", type number}, {"totalTradedValue", type number}, {"yearHigh", type number}, {"yearLow", type number}, {"nearWKH", type number}, {"nearWKL", type number}, {"perChange365d", type number}, {"perChange30d", type number}}),
    #"Removed Columns" = Table.RemoveColumns(#"Changed Type",{"identifier", "series", "lastUpdateTime", "date365dAgo", "chart365dPath", "date30dAgo", "chart30dPath", "chartTodayPath"}),
    #"Rounded Off" = Table.TransformColumns(#"Removed Columns",{{"open", each Number.Round(_, 2), type number}, {"dayHigh", each Number.Round(_, 2), type number}, {"dayLow", each Number.Round(_, 2), type number}, {"lastPrice", each Number.Round(_, 2), type number}, {"previousClose", each Number.Round(_, 2), type number}, {"change", each Number.Round(_, 2), type number}, {"pChange", each Number.Round(_, 2), type number}, {"totalTradedVolume", each Number.Round(_, 2), type number}, {"totalTradedValue", each Number.Round(_, 2), type number}, {"yearHigh", each Number.Round(_, 2), type number}, {"yearLow", each Number.Round(_, 2), type number}, {"nearWKH", each Number.Round(_, 2), type number}, {"nearWKL", each Number.Round(_, 2), type number}, {"perChange365d", each Number.Round(_, 2), type number}, {"perChange30d", each Number.Round(_, 2), type number}}),
    #"Renamed Columns" = Table.RenameColumns(#"Rounded Off",{{"symbol", "Symbol"}, {"open", "Open"}, {"dayHigh", "High"}, {"dayLow", "Low"}, {"lastPrice", "LTP"}, {"previousClose", "Prev Close"}, {"change", "CHG"}, {"pChange", "CHG %"}, {"totalTradedVolume", "VOL"}, {"totalTradedValue", "VAL"}, {"yearHigh", "52W High"}, {"yearLow", "52W Low"}, {"nearWKH", "CHG % 52W H"}, {"nearWKL", "CHG % 52W L"}, {"perChange365d", "CHG % 365D"}, {"perChange30d", "CHG % 30D"}, {"companyName", "Co Name"}}),
    #"Added Custom" = Table.AddColumn(#"Renamed Columns", "Time Stamp", each getLivStkTimeStmp ()),
    #"Expanded Time Stamp" = Table.ExpandTableColumn(#"Added Custom", "Time Stamp", {"Time Stamp"}, {"Time Stamp.1"}),
    #"Renamed Columns1" = Table.RenameColumns(#"Expanded Time Stamp",{{"Time Stamp.1", "Time Stamp"}}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Renamed Columns1",{{"Time Stamp", type datetime}})
in
    #"Changed Type1"

在代码的响应标题下,我从其他代码中找到了以下内容:

内容编码:gzip 内容长度:20707 内容类型:应用程序/json;字符集=utf-8 日期:2019 年 12 月 30 日星期一 05:01:25 GMT

现在的问题是,当我启动 excel 并刷新上述查询时,我无法获取数据。它显示以下错误:

DataSource.Error:底层连接已关闭:意外 接收时发生错误。细节: https://beta.nseindia.com/api/equity-stockIndices?index=SECURITIES%20IN%20F%26O

奇怪的是,一旦我系统中的时间是 12:00,它就会刷新。我无法找到解决方案,因为我不是技术人员,也没有编写代码的知识。

请提供合适的设置。 谢谢

【问题讨论】:

  • 面临同样的问题。我的猜测是 NSE 已经停止提供任何免费的连续订阅,他们只在白天的某个时间打开他们的连接。

标签: excel powerbi


【解决方案1】:

您需要添加标头和 Cookie 才能消除此错误。

cookiestr = "get the value of bm_sv cookie from browser"
Source = Json.Document(Web.Contents("https://beta.nseindia.com/api/equity-stockIndices?index=SECURITIES%20IN%20F%26O", [Headers =[#"Accept-Language"="en-US,en;q=0.9,ta;q=0.8,te;q=0.7",#"Accept-Encoding"="gzip, deflate",#"User-Agent"="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36", Cookie=cookiestr]])),

详细解释请参考此video - 卓越的贸易

【讨论】:

  • 嗨 Suresh Jaganathan 感谢您的回复。我在你发布的那天看过你的视频。我已经修改了细节,它现在正在工作。你在这个问题上的知识值得称赞。问候马丹·莫汉·维尔马
  • 嗨@SureshJaganathan 你能看一下吗:stackoverflow.com/questions/62190767/… 谢谢。
猜你喜欢
  • 2020-04-08
  • 1970-01-01
  • 1970-01-01
  • 2022-01-17
  • 1970-01-01
  • 2011-01-25
相关资源
最近更新 更多