2017-06-15 113 views
0

我试图从一个网站每天使用Google表格抓取数据,然后用脚本将其存储到一边。我是新来这个,所以我似乎无法得到它的工作...这是我使用从网站抽取数据的内容:使用importXML和脚本存储从网站抓取的数据

=importxml("https://www.reddit.com/top/", "//div [@data-rank='1']") 

然后我想在一些地方保存结果。 ..我想用appendrow?但它不断给我错误,我不知道如何解决它。我的脚本看起来像这样到目前为止(但它错误了):

function addData() { 
var sheet = SpreadsheetApp.getActiveSheet(); 
sheet.appendRow(['=importXML("https://www.reddit.com/top/", "//div [@data-rank='1']")']); 
} 

也想添加数据提取的日期。

回答

0

试试这个。您可以设置每日定时触发器来运行它。在脚本编辑器中进入编辑菜单。点击当前项目触发器为存档添加新的触发器。定时触发器,每天都选择一段时间来运行并保存。

function Archive() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var s1=ss.getSheetByName("Sheet1")//sheet with imported data 
    var s2=ss.getSheetByName("Sheet2")//archive sheet 
    var lr=s2.getLastRow()+1//get last row of archive sheet + 1 
    var data=s1.getRange(2,1,1,4).getValues()//get sheet 1 values 
    s2.getRange(lr,1,1,1).setValue(new Date())//create date and set in 
    s2.getRange(lr, 2, 1, 4).setValues(data)//set copy of data 
} 
+0

谢谢,这个工程!我只调整了getRange以匹配sheet1的数据 – Andrew