【发布时间】:2018-07-21 11:43:42
【问题描述】:
这个问题可能已经问过了,但这并不能解决我的问题。
我尝试使用google app script 将数据保存到google spreadsheet。但它显示 Exceeded memory limit 错误。
按照我的代码:
//new
function getNewTitle() {
var url = "https://www.reddit.com/r/DigitalMarketing.rss?limit=100&after=0";
var fromText = '</updated><title>';
var toText = '</title>';
var content = UrlFetchApp.fetch(url).getContentText();
var scraped = Parser.data(content).from(fromText).to(toText).iterate();
return scraped;
}
function getNewContent() {
var url = "https://www.reddit.com/r/DigitalMarketing.rss?limit=10&after=0";
var content = UrlFetchApp.fetch(url).getContentText();
var document = XmlService.parse(content);
var root = document.getRootElement();
var atom = XmlService.getNamespace('http://www.w3.org/2005/Atom');
Logger.log(atom);
var fromText = '<content type="html"><!-- SC_OFF --><div class="md"><p>';
var toText = '</div>';
var scraped = Parser.data(content).from(fromText).to(toText).iterate();
return scraped;
}
function getNewLink() {
var url = "https://www.reddit.com/r/DigitalMarketing.rss?limit=10&after=0";
var fromText = '<link href="';
var toText = '" /><updated>';
var content = UrlFetchApp.fetch(url).getContentText();
var scraped = Parser.data(content).from(fromText).to(toText).iterate();
return scraped;
}
function SAVE_DATA() {
var sheet = SpreadsheetApp.openById('1No3m_FnhyxIaxj2zSlbHrg8HLBJULGQ2bda65hpKlyY').getSheetByName('sample');
var content = getNewContent();
var title = getNewTitle();
var link = getNewLink();
Logger.log(title[1]);
for(var i =0; i < title.length; i++) {
sheet.appendRow([ 'Reddit','wordpress', title[i], link[i], content[i]]);
}
}
//new
在我上面的代码中,我尝试保存来自url 的数据。
但我收到
Exceeded memory limit错误。
在我的日志中我收到了这条消息
[18-07-21 05:33:29:719 PDT] [命名空间:前缀“”映射到 URI“http://www.w3.org/2005/Atom”]
请帮我解决这个错误...!
提前致谢。
【问题讨论】:
-
这是哪里的
Parser -
@I'-'我其实在
Resources -> Library中添加了parser -
对不起,这是我第一次使用
google app script,我不知道如何解决这个问题 -
您是否尝试将限制从
100减少到5 -
@I'-'I Parser 是一个 GAS 库。您可以在here 看到此信息。
标签: google-apps-script web-scraping google-sheets xml-parsing