Re: [請益] =GOOGLEFINANCE(" ", "price")

作者: aldosterone (Ren'in)   2022-10-10 22:28:57
若有以下顧慮:
1.'GOOGLEFINANCE' 擔心延遲
2.'IMPORTHTML' 只能 return table or list
3.'IMPORTXML' 的 'xpath_query' 不好寫
4.'IMPORTHTML' 和 'IMPORTXML' 有更新延遲的問題
可以嘗試用主欄目下 'Extensions' > 'Apps Script' 來撰寫腳本,達成:
1. 網頁抓取數值
2. 即時更新
# 網頁抓取數值
'''
function get_prc(url) {
var response = UrlFetchApp.fetch(url);
content = response.getContentText();
var str = content.split("\n");
var key_lst = 'id="last_last" dir="ltr">';
var key_bid = '-bid">';
var key_ask = '-ask">';
var key_end = '<';
var prc = [];
var slc;
for (var i = 0; i < str.length; i++) {
if (str[i].includes(key_lst)) {
slc = str[i];
var pnt_sta_lst = slc.indexOf(key_lst) + key_lst.length;
var pnt_end_lst = slc.indexOf(key_end, pnt_sta_lst);
prc.push(parseFloat(slc.slice(pnt_sta_lst, pnt_end_lst)));
} else if (str[i].includes(key_bid)) {
slc = str[i];
var pnt_sta_bid = slc.indexOf(key_bid) + key_bid.length;
var pnt_end_bid = slc.indexOf(key_end, pnt_sta_bid);
var pnt_sta_ask = slc.indexOf(key_ask) + key_ask.length;
var pnt_end_ask = slc.indexOf(key_end, pnt_sta_ask);
prc.push(parseFloat(slc.slice(pnt_sta_bid, pnt_end_bid)));
prc.push(parseFloat(slc.slice(pnt_sta_ask, pnt_end_ask)));
break;
}
}
return [prc];
}
'''
# 即時更新
'''
function upd_rng(rng) {
var fml = rng.getFormulas();
rng.setValue("");
SpreadsheetApp.flush();
rng.setFormulas(fml);
}
function upd_prc() {
var sht = SpreadsheetApp.getActiveSheet();
upd_rng(sht.getRange("C2:C4"));
upd_rng(sht.getRange("I2"));
}
'''
# 即時更新(的 UI)
'''
function onOpen() {
SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp.
.createMenu('Custom Menu')
.addItem('Update', 'upd_prc')
.addToUi();
}
'''
呼叫邏輯的關係,定義(貼上 code)的順序要是:
'onOpen' > 'upd_rng' > 'upd_prc' > 'get_prc'
range (比如 "C2:C4") 由個人的試算表編排決定。
作者: XDDDpupu5566 (XDpu56家族)   2022-10-10 22:52:00
推一個
作者: XDDDpupu5566 (XDpu56家族)   2022-10-10 22:52:00
推一個
作者: alalal (何小明)   2022-10-11 00:10:00
感謝分享
作者: alalal (何小明)   2022-10-11 00:10:00
感謝分享
作者: ivan1116 (ivan)   2022-10-11 01:04:00
推喔 不過還沒試試看XD
作者: ivan1116 (ivan)   2022-10-11 01:04:00
推喔 不過還沒試試看XD
作者: whmclschuhw (haha)   2022-10-11 02:47:00
感謝 mark起來
作者: whmclschuhw (haha)   2022-10-11 02:47:00
感謝 mark起來
作者: heavenbeyond (如果在天堂)   2022-10-11 05:52:00
有辦法賺到股票目前的殖利率嗎?
作者: heavenbeyond (如果在天堂)   2022-10-11 05:52:00
有辦法賺到股票目前的殖利率嗎?
作者: aldosterone (Ren'in)   2022-10-11 07:32:00
網頁內容基本上都可以截取
作者: aldosterone (Ren'in)   2022-10-11 07:32:00
網頁內容基本上都可以截取
作者: baconone (falconone)   2022-10-11 14:29:00
不推不行
作者: TranquilityO (嘟綱再戰十年)   2022-10-12 01:41:00
想問原po新浪財經的要怎麼改,股價只抓到@[email protected]成功了感謝原po
作者: baconone (falconone)   2022-10-11 14:29:00
不推不行
作者: suiam74 (I am 菜頭and縣長)   2022-10-18 18:07:00
太強了
作者: TranquilityO (嘟綱再戰十年)   2022-10-12 01:41:00
想問原po新浪財經的要怎麼改,股價只抓到@[email protected]成功了感謝原po
作者: suiam74 (I am 菜頭and縣長)   2022-10-18 18:07:00
太強了
作者: XDDDpupu5566 (XDpu56家族)   2022-10-10 14:52:00
推一個
作者: alalal (何小明)   2022-10-10 16:10:00
感謝分享
作者: ivan1116 (ivan)   2022-10-10 17:04:00
推喔 不過還沒試試看XD
作者: whmclschuhw (haha)   2022-10-10 18:47:00
感謝 mark起來
作者: heavenbeyond (如果在天堂)   2022-10-10 21:52:00
有辦法賺到股票目前的殖利率嗎?
作者: aldosterone (Ren'in)   2022-10-10 23:32:00
網頁內容基本上都可以截取
作者: baconone (falconone)   2022-10-11 06:29:00
不推不行
作者: TranquilityO (嘟綱再戰十年)   2022-10-11 17:41:00
想問原po新浪財經的要怎麼改,股價只抓到@[email protected]成功了感謝原po
作者: suiam74 (I am 菜頭and縣長)   2022-10-18 10:07:00
太強了

Links booklink

Contact Us: admin [ a t ] ucptt.com