【问题标题】:Importxml() returned "empty cells" or "formula parse error"Importxml() 返回“空单元格”或“公式解析错误”
【发布时间】:2023-01-04 02:38:53
【问题描述】:

我尝试了Importhtml ("https://nepsealpha.com/investment-calandar/dividend","table",),然后是Importxml("https://nepsealpha.com/investment-calandar/dividend",xpath)。我从 googlechrome 的“selectorgadget”扩展中找到了 xpath,但仍然无法导入它。它显示“空内容”或公式解析错误”。

【问题讨论】:

    标签: google-sheets web-scraping google-sheets-formula


    【解决方案1】:

    您可以通过这种方式检索所有信息

    =importxml(url,"//div/@data-page")
    

    然后解析json。

    通过脚本:=getData("https://nepsealpha.com/investment-calandar/dividend")

    function getData(url) {
      var from='data-page="'
      var to='"></div></body>' 
      var jsonString = UrlFetchApp.fetch(url).getContentText().split(from)[1].split(to)[0].replace(/&quot;/g,'"')
      var json = JSON.parse(jsonString).props.today_prices_summary.top_volume
      var headers = Object.keys(json[0]);
      return  ([headers, ...json.map(obj => headers.map(header => obj[header]))]);
    }
    

    编辑

    要定期更新,请添加此脚本

    function update(){
      var chk = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0].getRange('A1')
      chk.setValue(!chk.getValue())
    }
    

    根据需要在更新功能上放置触发器并进行如下更改

    =getData("https://nepsealpha.com/investment-calandar/dividend",$A$1)
    

    【讨论】:

    • 感谢您的回复,您能告诉我我应该在脚本中写些什么来获取该站点的数据以获取诸如“股息增长%”、“红利%”等列数据吗?
    • 您用来检索该值的网址是什么?
    • 我需要从这个网站“nepsealpha.com/investment-calandar/dividend”到谷歌表格的表格,随着表格中值的变化,它每天都会更新自己......(我已经制作了一个时间触发脚本)但是cudnt废弃了那个表格......
    • 我正在编辑我的答案。
    • 由于该页面是由 javascript 构建的,因此这些信息无法通过本机 google 函数直接获得。只有符号 shareTraded closingPrice securityName securityId 可用。
    【解决方案2】:

    我知道那不是你想看到的答案。 使用 IMPORTXML 或 Google 表格中包含的其他工具无法从该网站获取任何内容。

    它是使用 Javascript 生成的。禁用 Javascript 后,不会显示任何内容:

    这是故意的。金融公司为实时股票数据付费,他们不想免费与我们分享。 因此该网站受到保护,不受 importxml 等工具的侵害。

    【讨论】:

    • 似乎信息存储在一个大的 json 中。
    • :( 感谢您的尝试。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-09
    • 1970-01-01
    • 2018-10-04
    • 2018-04-10
    • 2015-08-24
    • 1970-01-01
    • 2020-08-11
    相关资源
    最近更新 更多