簡體   English   中英

Google 表格:來自雅虎財經的 IMPORTXML

[英]Google Sheet: IMPORTXML from Yahoo Finance

我正在嘗試從雅虎財經導入當前股價。 我使用了某個網站的公式,它部分起作用。 我只知道如何告訴它尋找一個特定的查詢,它對我需要的其他一些數據點工作正常,但價格變化查詢從

"Fw(500) Pstart(10px) Fz(24px) C($dataRed)" 

"Fw(500) Pstart(10px) Fz(24px) C($dataGreen)" 

取決於當天價格是上漲還是下跌。

在這種情況下,如何修改我在下面使用的公式以使用“或”運算符? 這樣無論股票當天上漲還是下跌,它都會拉低價格。 謝謝!

我使用的公式: =IMPORTXML("https://finance.yahoo.com/quote/IBM","//span[@class='Fw(500) Pstart(10px) Fz(24px) C($dataRed)']")

我注意到其他答案對我不起作用(它們過去可能有用),所以我決定發布這個解決方案。 只需將股票代碼放在單元格A1 中,並將下面的一個或兩個公式放在其他地方。

價錢:

=IFNA(VALUE(IMPORTXML("https://finance.yahoo.com/quote/" & A1, "//*[@class=""D(ib) Mend(20px)""]/span[1]")))

改變:

=IFNA(VALUE(REGEXEXTRACT(IMPORTXML("https://finance.yahoo.com/quote/" & A1,"//*[@class=""D(ib) Mend(20px)""]/span[2]"), "^.*?\s")))

您可以使用不需要此類特定路徑的更動態/通用的 xpath,例如:

這個同時引入了價格和變化:

=ARRAY_CONSTRAIN(transpose(IMPORTXML("https://finance.yahoo.com/quote/IBM:,"//*[@class='Mt(6px)']//span")),1,2)

如果你只想要價格:

=trim(IMPORTXML("https://finance.yahoo.com/quote/IBM","//*[@class='Mt(6px)']//span"))

如果你只是想要改變:

=IMPORTXML("https://finance.yahoo.com/quote/IBM","//*[@class='Mt(6px)']//span[2]")

在此處輸入圖片說明

如果你只想要價格:

=IFNA(VALUE(IMPORTXML("https://finance.yahoo.com/quote/" & $A1, "//*[@class=""D(ib) Mend(20px)""]/span[1) ]")))

目前正在使用 googlefinance api,但發現即使將更新設置為每分鍾更新一次,它也不會經常更新,因此目前正在測試下面是否允許至少在工作表中按 F5 鍵進行更新

這帶來了價格和其他信息(日期為 2022/09/27)

=IMPORTXML("https://finance.yahoo.com/quote/SAVA/", "//*[@id=""quote-header-info""]/div[3]/div[1]/div [1]")

遺憾的是,雅虎財經經常更改其網站的 XML/HTML 結構。 現在有效的是:

=IMPORTXML("https://finance.yahoo.com/quote/IBM/", "//*[@id=""quote-header-info""]/div[3]/div[1]/div/span[1]")

您可以隨時打開 HTML 結構並使用開發人員工具來查找和復制 X 路徑。

PS1。 盡管似乎存在錯誤,並且該函數無法從名稱中帶有點/點/句點“ . ”的 URL 檢索數據。

PS2。 IMPORTHTML()函數也不能從雅虎財經獲取最新價格,因為信息既不在表格中也不在列表中。 您可以嘗試此頁面此頁面中的腳本以列出所有tablelist

或者您可以在單元格上使用條件格式,以便顏色僅由單元格的值確定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM