首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google上的ImportXML问题

Google上的ImportXML问题
EN

Stack Overflow用户
提问于 2016-12-21 00:25:00
回答 1查看 4K关注 0票数 1

我已经用大约500个URL和Xpath填充了google电子表格。在发现ImportXML有一些缺点之后(即使只有10个左右的函数在运行,它也会产生永久的加载错误)。我正在寻找另一种方法来填充纸张。我的第一次尝试是一个迭代脚本,它简单地将一个ImportXML函数写入一个工作单元格中,然后在每个URL的值中编写。我认为,只要一次运行一个ImportXML,它就可以正常工作,但仍然会产生永久的加载错误。

样本表:uC1QP0iE7w/edit?usp=sharing

(注意,示例表在迭代ImportXML脚本中工作正常,仍然返回一些错误,但我认为历史ImportXML函数必须有一些限制,而不仅仅是表上的当前函数,因为我的主表现在处理一些实际问题)

有一个简单的脚本可以工作吗?我尝试过使用URLFetch、xml.evaluate、xmlService的变体,但由于知识有限,我无法让它工作。

任何指导都非常感谢。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-22 04:46:00

这是一种工作方法--我为你测试过:

将此函数添加到当前应用程序脚本中的函数中。

代码语言:javascript
复制
function importprice(url) {
  var found, html, content = '';
  var response = UrlFetchApp.fetch(url);
  if (response) {
    html = response.getContentText();
    if (html) content = html.match(/<span id="product_price" itemprop="price">(.*)<\/span>/gi)[0].match(/<span id="product_price" itemprop="price">(.*)<\/span>/i)[1];
  }
  return content;
}

然后替换当前如下所示的importxml函数:

代码语言:javascript
复制
 var cellFunction1 = '=IMPORTXML("' + sheet.getRange(row,4).getValue() + '?' + queryString + '","' + sheet.getRange(row,5).getValue() + '")';

在这方面:

代码语言:javascript
复制
var cellFunction1 = importprice(sheet.getRange(row,4).getValue());
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41253339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档