使用Google脚本提取网站数据



我需要帮助制作此脚本,以将价格从网站上删除并使用日期和时间戳将其登录到电子表格中,这是:

function pullPrices() {
var page = UrlFetchApp.fetch('http://www.apbcc.com').getContentText();
var number = page.match(/Soya (X Nagpur): ([0-9,]+)/)[1];
SpreadsheetApp.getActive().getSheetByName('Sheet1').appendRow([new Date(), number]);
}

基本上在网页中,他们列出了玉米和大豆的价格,我想每5分钟记录它

输出应看起来像1/1/2013 11.53 12.50(分别用于玉米ND大豆)但是,该脚本在执行时会丢弃错误。有人可以扔一点吗?


谢谢哈罗德。感谢您的及时响应,但是,如果代码被馈送给文本,则可以使用urlfetchapp.fetch('http://www.apbcc.com').getContentText();它行不通。同样,在获取的内容中,价格在参数的下一行中,如下所示

<div style="font-size:14px;">
Soya (X Nagpur):&nbsp;
32.20</br>
Maize (WGL):&nbsp;
11.50</br>
Rice Bran Oil (Hyd):&nbsp;
51</br>
Maize (NZB):&nbsp;
11.30</br>
DCP:&nbsp;
29</br>
As on 03/02/2014:&nbsp;
.</br>

任何建议??

尝试:

var reg =  /<[^<]+?>/g
var text = '<div style="font-size:14px;"> Soya (X Nagpur):&nbsp; 32.20</br> Maize (WGL):&nbsp; 11.55</br> Rice Bran Oil (Hyd):&nbsp; 51</br> Maize (NZB):&nbsp; 11.20</br> DCP:&nbsp; 29</br> As on 01/02/2014:&nbsp; .</br>';
function testReg(){
  var priceList ={};
  var prices = text.split(reg);
  for(var i in prices){
   var val = prices[i].split(":&nbsp; "); 
   priceList[val[0]]=val[1];
  }
  Logger.log(JSON.stringify(priceList));
  Logger.log("maize: "+priceList[" Maize (WGL)"]);
  Logger.log("soya: "+priceList[" Soya (X Nagpur)"]);
  SpreadsheetApp.getActive().getSheetByName('Sheet1').appendRow([new Date(), priceList[" Soya (X Nagpur)"],priceList[" Maize (WGL)"]]);
}

最新更新