【问题标题】:How to Import XML into Google Sheets from web page如何从网页将 XML 导入 Google 表格
【发布时间】:2019-02-06 08:35:52
【问题描述】:

我正在尝试通过 IMPORTXML 将数据从网站导入我的 Google 表格表单。目标页面是https://poporing.life/?search=:steel, 然而,这两个函数都不断地从图片上的高亮处获取数据:

例如,当我尝试时:

=IMPORTXML("https://poporing.life/?search=:steel","//div[@class='d-flex flex-column']//div[@class='info']//b")  

它不起作用。

关于如何从子页面获取数据的任何想法?

【问题讨论】:

标签: xml google-sheets google-sheets-api google-sheets-importxml


【解决方案1】:

OP 正在尝试使用 IMPORTXML 从https://poporing.life 中提取数据。不过,该网站有一个公共 API,可用于更轻松地获取相同的数据。

API is documented。输出是 JSON,可以通过 Google 表格轻松访问。 Google 记录了访问External APIs 的过程。

使用 Google 和 Poporing 文档,我构建了这段代码。

function so54549431() {

  var url = 'https://api.poporing.life/' +
    'get_latest_price/steel';

  var response = UrlFetchApp.fetch(url, {
    headers: {
      "Origin": "https://poporing.life",
    }
  });
    Logger.log("DEBUG: JSON Response: " + response); //DEBUG

  // returns an Object
    var dataAll = JSON.parse(response.getContentText()); //


  var itemname = dataAll.data.item_name;
  Logger.log("DEBUG: Item name: " + itemname);//DEBUG

    var price = dataAll.data.data.price;
  Logger.log("DEBUG: Price: " + price); //DEBUG

  var volume = dataAll.data.data.volume;
  Logger.log("DEBUG: Volume: " + volume);

}

get_lastest_price 的 API 返回的 JSON 是:

{
    "success": true,
    "data": {
        "item_name": "steel",
        "data": {
            "price": 2358,
            "volume": 1190273,
            "timestamp": 1549458553,
            "snapping": -1,
            "change1day": 1.550387596899225,
            "change3day": 11.016949152542374,
            "change7day": 31.364902506963787
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    相关资源
    最近更新 更多