用于从网站提取文本的 Google 应用程序脚本

Aar*_*ron 2 javascript google-apps-script

例如,我有一个 shell 脚本来提取游戏网站上列出的玩家数量。我拿了这个数字并添加了一个时间戳并将它放在谷歌电子表格上,这样我就可以随着时间的推移制作一个图表来跟踪数据。唯一的问题是运行它,我需要让我的电脑保持开机,我猜你可以用某种谷歌脚本来做到这一点,但我不知道如何开始这样做。

我使用的shell脚本是:

 wget --output-document=- http://runescape.com/title.ws 2>/dev/null \
| grep PlayerCount \
| head -1l \
| sed 's/^[^>]*>//' \
| sed "s/currently.*$/$(date '+%m\/%d\/%Y %H:%M:%S')/" \
| cut -d">" -f 3,4 \
| sed 's/<\/span>//' \
| sed 's/,//' \
| awk '{printf "%s %s,%s,%s\n", $3, $4, $1, $2}'
Run Code Online (Sandbox Code Playgroud)

输出示例: 11/21/2012 01:02:22,52833,people

我想要的是让它自动提取该号码并将其存储在一个单元格中,例如每 2 分钟一次。但我不确定这有多容易或从哪里开始。

然后它看起来像http://i.imgur.com/xRpNy.png

Hen*_*reu 5

这样做可能会遇到配额限制。但这是我的方法。

function pullRuneScape() {
  var page = UrlFetchApp.fetch('http://runescape.com/title.ws').getContentText();
  var number = page.match(/PlayerCount.*>([0-9,]+)</)[1];
  SpreadsheetApp.getActive().getSheetByName('Sheet1').appendRow([new Date(), number]);
}
Run Code Online (Sandbox Code Playgroud)

打开一个谷歌电子表格,然后点击菜单工具>脚本编辑器,粘贴上面的代码并保存。仍然在脚本编辑器上,单击资源 > 当前脚本的触发器。然后将此函数设置为在时间驱动触发器上运行。