Tôi muốn sử dụng Yahoo để lấy giá cổ phiếu từ bên trong chương trình Emacs Lisp. Tôi có hai câu hỏi.Nhận giá cổ phiếu từ Yahoo với Elisp?
- Làm cách nào để làm cho http GET?
- Điều gì là tốt nhất để lưu trữ dữ liệu trong Elisp để tôi có thể so sánh dữ liệu? Nói cách khác, tôi có nên sử dụng một bảng băm, một số bảng băm hoặc danh sách để đại diện cho dữ liệu đó được trả lại từ Yahoo không?
Đây là phác thảo cơ bản về những gì tôi muốn làm.
;; Call Yahoo to get equity prices ;; ;; Yahoo Input: ;; http://download.finance.yahoo.com/d/quotes.csv?s=AAPL+GOOG&f=sb2b3jkm6 ;; Yahoo Output: ;; "AAPL",211.98,211.82,78.20,215.59,+17.90% ;; "GOOG",602.94,601.69,282.75,629.51,+18.27% ;; ;; Symbol, ask, bid, 52 week low, 52 week high, % change from 200 day mavg ;; ;; Yahoo format described here: http://www.gummy-stuff.org/Yahoo-data.htm (defun get-price-url (tickers) " s = symbol b2 = ask real-time b3 = bid real-time j = 52 week low k = 52 week high " (concat "http://download.finance.yahoo.com/d/quotes.csv?s=" (mapconcat 'identity tickers "+") "&f=sb2b3jk")) (setq lst '("AAPL" "GOOG" "MSFT" "ORCL")) (setq url (get-price-url lst)) ;; Call Yahoo with Url, process results and place in a data structure ;; ;; Return results sorted by largest change in 200 day mavg, in descending order ;;
Cảm ơn bạn đã giới thiệu bản thân với 'mapconcat', thật tiện lợi! – justinhj