在网页上
http://services.runescape.com/m=itemdb_rs/Armadyl_chaps/viewitem.ws?obj=19463
它列出了游戏中特定元素的价格,我想获取所述元素的“当前指导价:”,并将其存储为变量,以便我可以将其输出到谷歌电子表格中。我只想要数字,目前是“643.8k”,但我不确定如何获取这样的特定文本。
由于数字是“k”形式,这意味着我无法绘制它,它必须类似于 643,800 才能使其可绘制。我有一个公式,我的第二个问题是知道是否可以对提取的数字使用公式,然后将其存储为最终输出?
-编辑-
这就是我目前所拥有的,但不确定为什么无法正常工作。
function pullRuneScape() {
var page = UrlFetchApp.fetch("http://services.runescape.com/m=itemdb_rs/Armadyl_chaps/viewitem.ws?obj=19463").getContentText();
var number = page.match(/Current guide price:<\/th>\n(\d*)/)[1];
SpreadsheetApp.getActive().getSheetByName('RuneScape').appendRow([new Date(), number]);
}
最佳答案
你的正则表达式是错误的。我成功地测试了这个:
var number = page.match(/Current guide price:<\/th>\s*<td>([^<]*)<\/td>/m)[1];
它的作用:
-
Current guide price:<\/th>
查找当前指导价:并关闭 td 标签 -
\s*<td>
允许标签之间有空格,找到开始的 td 标签 -
([^<]*)
建立一个组并匹配除此字符之外的所有内容 < -
<\/td>
匹配结束的 td 标签 -
/m
匹配多行
关于text - 从网页抓取文本并存储为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16453127/