【发布时间】:2021-03-24 15:15:45
【问题描述】:
我正在使用我一直在尝试编写的脚本在 google 表格中开发一个表格,该表格从 coinmarketcap 中提取数据。
我是一个f。菜鸟@编码。
我在这个脚本中使用了 importxml 函数(我需要刷新每个硬币的最新价格,比如 100 个硬币):
function CryptoRefresher() {
var spreadsheet = SpreadsheetApp.getActive();
var queryString = Math.random();
var link1 = "C";
var xpath = "D";
var destination = "E";
var Direction=SpreadsheetApp.Direction;
var NumeroRighe =spreadsheet.getRange("B"+(spreadsheet.getLastRow()+1)).getNextDataCell(Direction.UP).getRow();
for (var i = 2; i <= NumeroRighe; i++) {
var cellFunction1 = '=IMPORTXML("' + SpreadsheetApp.getActiveSheet().getRange(link1+i).getValue() + '?' + queryString + '", "'+ SpreadsheetApp.getActiveSheet().getRange(xpath+i).getValue() + '")';
SpreadsheetApp.getActiveSheet().getRange(destination+i).setValue(cellFunction1);
}
};
Example Data:
Cell B2 = "bitcoin"
cell C2 = "https://coinmarketcap.com/currencies/Bitcoin"
Cell D2 = "//div[@class='priceValue___11gHJ']"
Cell E2 = is the destination and will receive the bitcoin price
问题是它真的很慢,因为它每次调用 1 个硬币。
问题:有没有办法在 1 个单独的 importxml 调用中发送所有硬币请求?
就像我想收集 C 列中的所有硬币名称(C 列的 1 个单元格有 1 个不同且唯一的硬币名称)以收集我正在观看的所有硬币名称并要求 1 次调用以加快速度过程?
(有没有办法创建一个数组、一个硬币名称列表并对 coinmarketcap 进行 1 次调用?)
我真的想不通,我希望我问的很清楚!
谢谢! 亚历山德罗
【问题讨论】:
标签: arrays google-apps-script google-sheets