我已经用大约500个URL和Xpath填充了google电子表格。在发现ImportXML有一些缺点之后(即使只有10个左右的函数在运行,它也会产生永久的加载错误)。我正在寻找另一种方法来填充纸张。我的第一次尝试是一个迭代脚本,它简单地将一个ImportXML函数写入一个工作单元格中,然后在每个URL的值中编写。我认为,只要一次运行一个ImportXML,它就可以正常工作,但仍然会产生永久的加载错误。
样本表:uC1QP0iE7w/edit?usp=sharing
(注意,示例表在迭代ImportXML脚本中工作正常,仍然返回一些错误,但我认为历史ImportXML函数必须有一些限制,而不仅仅是表上的当前函数,因为我的主表现在处理一些实际问题)
有一个简单的脚本可以工作吗?我尝试过使用URLFetch、xml.evaluate、xmlService的变体,但由于知识有限,我无法让它工作。
任何指导都非常感谢。谢谢!
发布于 2016-12-22 04:46:00
这是一种工作方法--我为你测试过:
将此函数添加到当前应用程序脚本中的函数中。
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函数:
var cellFunction1 = '=IMPORTXML("' + sheet.getRange(row,4).getValue() + '?' + queryString + '","' + sheet.getRange(row,5).getValue() + '")';在这方面:
var cellFunction1 = importprice(sheet.getRange(row,4).getValue());https://stackoverflow.com/questions/41253339
复制相似问题