HTML應用指南:利用POST請求獲取上海黃金交易所金價數據

上海黃金交易所(SGE)作為中國唯一經國務院批準、專門從事黃金等貴金屬交易的國家級市場平臺,自成立以來始終秉持“公開、公平、公正”的原則,致力于構建規范、高效、透明的貴金屬交易市場體系。交易所通過完善的交易機制、嚴格的風險控制和強大的技術支持,為銀行、金融投資機構及各類會員單位提供標準化的貴金屬交易服務,是中國黃金市場定價機制的核心載體。

在保障交易安全與市場穩定的同時,上海黃金交易所積極推動信息化建設,通過官方網站及數據接口實時發布權威的黃金、白銀、鉑金等品種的行情信息,涵蓋開盤價、最高價、最低價、收盤價及成交量等關鍵數據。這些數據不僅反映了國內貴金屬市場的實時供需狀況,也為投資者、研究機構和產業鏈上下游企業提供了重要的決策依據。

本文將探討如何通過POST請求從上海黃金交易所的公開數據接口中獲取Au99.99等主力合約的日行情數據,并展示使用Python的requests庫發送HTTP請求的方法,以提取結構化的金價序列。此類數據通常以JSON格式返回,涵蓋全國統一的集中競價成交信息,通過解析返回結果,可實現對交易日期、開盤價、最高價、最低價、收盤價等核心字段的精準提取。此類數據采集方式有助于深入分析黃金價格的長期趨勢、波動特征及市場周期規律。

上海黃金交易所金價數據接口:行情走勢-上海黃金交易所

我們第一步先找到門店數據的存儲位置,然后看3個關鍵部分標頭、負載、?預覽;

標頭:通常包括URL的連接,也就是目標資源的位置;

負載:對于POST請求:負載通常包含了傳遞的參數,因為所有參數都通過URL傳遞,這里我們可以看到Au99.99的明文,代表99.99的純金,沒有進行加密;

預覽:指的是對響應內容的快速查看或摘要顯示,可以幫助用戶快速了解返回的數據結構或內容片段;

接下來就是數據獲取部分,先講一下方法思路,一共三個步驟;

方法思路

  1. 找到對應數據存儲位置;
  2. 我們通過post請求獲取所有日期下的相關金價數據;
  3. 通過html網頁的形式,把數據進行可視化;

第一步:我們先找到對應數據存儲位置,獲取所有有數據距離以來的金價數據,包括開盤價,收盤價之類,經過測試,這里的數據是,直接存在名為Dailyhq的html里,那我們直接獲取所有數據即可;

第二步:利用POST請求獲取所有金價數據,并根據標簽進行保存,另存為csv;

完整代碼#運行環境 Python 3.11

import requests
import csv
from datetime import datetime# --- 配置 ---
instid = "Au99.99"
# 自動生成文件名: SGE_Au99.99_20250818.csv
filename = f"SGE_{instid.replace('(', '_').replace(')', '_')}_{datetime.now().strftime('%Y%m%d')}.csv"# --- 請求 ---
url = "https://www.sge.com.cn/graph/Dailyhq"
headers = {'User-Agent': 'Mozilla/5.0','Referer': 'https://www.sge.com.cn/','X-Requested-With': 'XMLHttpRequest',
}
data = {'instid': instid}try:response = requests.post(url, headers=headers, data=data, timeout=10)response.raise_for_status()result = response.json()# --- 保存CSV ---with open(filename, 'w', newline='', encoding='utf-8-sig') as f:writer = csv.writer(f)writer.writerow(['日期', '開盤價', '最高價', '最低價', '收盤價'])  # 寫標題writer.writerows(result['time'])  # 寫數據print(f"數據已保存: {filename} (共{len(result['time'])}條)")except Exception as e:print(f"失敗: {e}")

獲取數據標簽如下,?日期、開盤價、最高價、最低價、 收盤價,其他一些非關鍵標簽,這里省略;

第三步:我們把金價數據進行可視化,生成對應的html;

完整代碼#運行環境 Python 3.11

import pandas as pd
import json
import os# --- 1. 讀取CSV數據 ---
file_path = r'SGE_Au99.99_20250818.csv'  # 請根據實際路徑修改
if not os.path.exists(file_path):raise FileNotFoundError(f"未找到文件: {file_path}")data = pd.read_csv(file_path)# 確保日期為 datetime 類型并排序
data['日期'] = pd.to_datetime(data['日期'])
data = data.sort_values('日期').reset_index(drop=True)# 提取數據
dates = data['日期'].dt.strftime('%Y-%m-%d').tolist()
close_prices = data['收盤價'].round(2).tolist()# --- 2. 構建ECharts系列 ---
series_list = [{'name': '收盤價','type': 'line','data': close_prices,'smooth': True,'showSymbol': False,'emphasis': {'focus': 'series'},'lineStyle': {'width': 3, 'color': '#4a86e8'},  # 藍色'areaStyle': {'color': {'type': 'linear','x': 0, 'y': 0, 'x2': 0, 'y2': 1,'colorStops': [{'offset': 0, 'color': 'rgba(74, 134, 233, 0.5)'},{'offset': 1, 'color': 'rgba(74, 134, 233, 0.1)'}]}}}
]# --- 3. 生成HTML內容 ---
html_content = f"""
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>Au99.99 黃金收盤價趨勢圖</title><script src="https://cdn.jsdelivr.net/npm/echarts@5.4.0/dist/echarts.min.js"></script><style>body {{font-family: 'Microsoft YaHei', 'Segoe UI', sans-serif;background: linear-gradient(to right, #bda0db 0%, #eae9f0 100%);margin: 0;display: flex;justify-content: center;align-items: center;min-height: 100vh;color: #333;}}.container {{width: 90%;max-width: 1200px;padding: 30px;background: white;border-radius: 16px;box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);text-align: center;}}h1 {{font-size: 24px;margin-bottom: 20px;color: #4a86e8;}}.subtitle {{font-size: 16px;color: #666;margin-bottom: 25px;}}#chart {{width: 100%;height: 600px;margin-top: 20px;}}</style>
</head>
<body><div class="container"><h1>上海黃金交易所 Au99.99 收盤價趨勢</h1><div class="subtitle">數據范圍:{dates[0]} 至 {dates[-1]} (共 {len(dates)} 天)</div><div id="chart"></div></div><script>const chartDom = document.getElementById('chart');const myChart = echarts.init(chartDom);const option = {{tooltip: {{trigger: 'axis',axisPointer: {{ type: 'cross' }},formatter: function(params) {{let res = params[0].name + '<br/>';params.forEach(param => {{res += `<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:${{param.color}};"></span>`;res += `${{param.seriesName}}: <b>${{param.value}}</b> 元/克<br/>`;}});return res;}}}},legend: {{data: {json.dumps([s['name'] for s in series_list])},bottom: '5%',textStyle: {{ color: '#333' }}}},grid: {{ left: '8%', right: '6%', bottom: '18%', top: '8%' }},xAxis: {{type: 'category',data: {json.dumps(dates)},axisLabel: {{ rotate: 45, fontSize: 12,color: '#666'}},axisLine: {{ lineStyle: {{ color: '#ccc' }} }}}},yAxis: {{type: 'value',name: '價格 (元/克)',splitLine: {{ show: true, lineStyle: {{ type: 'dashed', color: '#ddd' }} }},axisLabel: {{ color: '#666' }},axisLine: {{ lineStyle: {{ color: '#ccc' }} }}}},series: {json.dumps(series_list, ensure_ascii=False)}}};myChart.setOption(option);window.addEventListener('resize', () => myChart.resize());</script>
</body>
</html>
"""# --- 4. 保存HTML文件 ---
output_path = "SGE_Au9999_Close_Price_Trend.html"
with open(output_path, "w", encoding="utf-8") as f:f.write(html_content)print(f"黃金收盤價趨勢圖已生成:{output_path}")
print("請用瀏覽器打開該HTML文件查看可視化圖表")

2016年底至2025年8月的金價變化趨勢如下,恨沒在低位狠狠的抄底o(╥﹏╥)o

接下來,我們進行看圖說話:

從2016年底至2025年8月,上海黃金交易所Au99.99的金價呈現出顯著的長期上升趨勢。價格從2016年底的約300元/克攀升至2025年8月的接近800元/克,累計漲幅超過150%。這一強勁的上漲走勢充分體現了黃金作為避險資產和價值儲存工具在全球經濟不確定性加劇背景下的核心地位。

階段性走勢分析
  • 初期(2016-2017年):金價在300元/克附近窄幅震蕩,整體表現平穩。這一階段全球經濟逐步復蘇,市場風險偏好回升,黃金的避險需求相對有限,價格維持在低位盤整。

  • 2018年至2019年初:金價進入緩慢增長階段,逐步突破400元/克。隨著全球貿易摩擦升溫、地緣政治風險上升,市場對避險資產的關注度提升,黃金的投資吸引力開始顯現。

  • 2019年至2020年初:金價開啟加速上漲,迅速逼近500元/克。這一階段美聯儲轉向降息周期,全球主要央行重啟寬松貨幣政策,實際利率下行顯著提升了無息資產黃金的持有價值。

  • 2020年至2023年初:受新冠疫情沖擊、經濟波動與高通脹預期交織影響,金價在400至500元/克區間進入高位震蕩期,波動明顯加劇。盡管疫情初期流動性緊張導致金價短暫回調,但隨后的大規模財政與貨幣刺激推動黃金價格再度走強。

  • 自2023年初以來:金價再次強勢突破,一路攀升至近800元/克。這一輪上漲主要得益于全球通脹持續高企、地緣沖突頻發(如俄烏沖突延續、中東局勢緊張)、各國央行尤其是新興市場央行大規模增持黃金儲備,以及市場對美元信用長期弱化的擔憂不斷升溫。

我們再來看看銀價這些年的變化趨勢;

從2016年底至2025年8月,上海黃金交易所Ag(T+D)的銀價呈現出顯著的長期上升趨勢。價格從2016年底的約4元/克攀升至2025年8月的接近9元/克,漲幅超過125%。這一趨勢充分體現了白銀作為工業金屬和投資資產在全球經濟復雜變局中的重要地位。

階段性走勢分析
  • 初期(2016-2017年):銀價在4元/克附近窄幅震蕩,整體表現平穩。這一階段市場對白銀的需求相對穩定,工業需求和投資需求均未出現顯著變化。

  • 2018年至2019年初:銀價進入緩慢增長階段,逐步突破5元/克。這一時期,全球經濟逐漸復蘇,工業需求有所增加,同時投資者對白銀的投資興趣也有所提升。

  • 2019年至2020年初:銀價開啟加速上漲,迅速逼近6元/克。這一階段與全球貿易摩擦升級、地緣政治緊張以及主要經濟體實施寬松貨幣政策密切相關。白銀作為貴金屬,其避險屬性和工業應用價值得到進一步體現。

  • 2020年至2023年初:受疫情沖擊、經濟復蘇與通脹預期交織影響,銀價在5-6元/克區間進入高位震蕩期,波動明顯加劇。疫情期間,白銀的工業需求受到一定影響,但投資需求大幅增加,導致價格波動較大。

  • 自2023年初以來:銀價再次強勢突破,一路攀升至近9元/克。這一輪上漲主要得益于全球高通脹持續、地緣沖突頻發、各國央行大規模增持黃金儲備以及市場對長期貨幣信用弱化的擔憂不斷升溫。白銀作為貴金屬和工業金屬,其雙重屬性使其在這一背景下表現出色。

文章僅用于分享個人學習成果與個人存檔之用,分享知識,如有侵權,請聯系作者進行刪除。所有信息均基于作者的個人理解和經驗,不代表任何官方立場或權威解讀。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/93777.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/93777.shtml
英文地址,請注明出處:http://en.pswp.cn/web/93777.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++常見面試題-1.C++基礎

一、C 基礎 1.1 語言特性與區別C 與 C 的主要區別是什么&#xff1f;C 為何被稱為 “帶類的 C”&#xff1f; 主要區別&#xff1a;C 引入了面向對象編程&#xff08;OOP&#xff09;特性&#xff08;類、繼承、多態等&#xff09;&#xff0c;而 C 是過程式編程語言&#xff1…

Tomcat里catalina.sh詳解

在 Tomcat 中&#xff0c;catalina.sh&#xff08;Linux/macOS&#xff09;或 catalina.bat&#xff08;Windows&#xff09;是 核心的啟動和關閉腳本&#xff0c;用于控制 Tomcat 服務器的運行。它是 Tomcat 的“主控腳本”&#xff0c;負責設置環境變量、啟動/關閉 JVM 進程&…

STM32之MCU和GPIO

一、單片機MCU 1.1 單片機和嵌入式 嵌入式系統 以計算機為核心&#xff0c;tips&#xff1a;計算機【處理單元&#xff0c;內存 硬盤】 可以控制的外部設備&#xff0c;傳感器&#xff0c;電機&#xff0c;繼電器 嵌入式開發 數據源--> 處理器(CPU MCU MPU) --> 執行器 …

22_基于深度學習的桃子成熟度檢測系統(yolo11、yolov8、yolov5+UI界面+Python項目源碼+模型+標注好的數據集)

目錄 項目介紹&#x1f3af; 功能展示&#x1f31f; 一、環境安裝&#x1f386; 環境配置說明&#x1f4d8; 安裝指南說明&#x1f3a5; 環境安裝教學視頻 &#x1f31f; 二、數據集介紹&#x1f31f; 三、系統環境&#xff08;框架/依賴庫&#xff09;說明&#x1f9f1; 系統環…

數據結構:二叉樹oj練習

在講今天的題目之前&#xff0c;我們還需要講一下二叉樹的以下特點&#xff1a; 對任意一顆二叉樹&#xff0c;如果度為0的節點個數是n0&#xff0c;度為2的節點個數是n2&#xff0c;則有n0n21. 證明&#xff1a;二叉樹總的節點個數是n&#xff0c;那么有nn0n1n2 二叉樹的度為…

RabbitMQ高級特性——TTL、死信隊列、延遲隊列、事務、消息分發

目錄 一、TTL 1.1設置消息的TTL 1.2設置隊列的TTL 1.3兩者之間的區別 二、死信隊列 2.1死信的概念 2.2死信產生的條件&#xff1a; 2.3死信隊列的實現 死信隊列的工作原理 2.4常??試題 三、延遲隊列 3.1概念 3.2應用場景 3.3RabbitMQ 實現延遲隊列的核心原理 1…

神經網絡設計中關于BN歸一化(Normalization)的討論

在神經網絡的結構中&#xff0c;我們常常可以看見歸一化&#xff08;Normalization&#xff09;如BN的出現&#xff0c;無論是模型的backbone或者是neck的設計都與它有著重大的關系。 因此引發了我對它的思考&#xff0c;接下來我將從 是什么&#xff08;知識領域&#xff0c;誕…

MacOS 安全機制與“文件已損壞”排查完整指南

1. 背景說明macOS 為了保護系統安全&#xff0c;內置了多個安全機制&#xff1a;機制作用是否影響第三方 AppSIP (System Integrity Protection)保護系統關鍵文件/目錄不被篡改高風險 App/驅動可能受限Gatekeeper限制未簽名/未認證 App 運行阻止“未知開發者” App文件隔離屬性…

package.json文件中的devDependencies和dependencies對象有什么區別?

前端項目的package.json文件中&#xff0c;dependencies和devDependencies對象都用于指定項目所依賴的軟件包&#xff0c;但它們在項目的開發和生產環境中的使用有所不同。1.dependencies&#xff1a;dependencies是指定項目在生產環境中運行所需要的依賴項。這些依賴項通常包括…

【最新版】CRMEB Pro版v3.4系統源碼全開源+PC端+uniapp前端+搭建教程

一.系統介紹 crmebPro版 v3.4正式發布&#xff0c;智能任務推送、動態標簽管理、商城AI生產力&#xff0c;煥然一新&#xff0c;不負期待&#xff01;頁面DIY設計功能全面升級&#xff0c;組件更豐富&#xff0c;樣式設計更全面&#xff1b;移動端商家管理&#xff0c;讓商城管…

AI 浪潮下 IT 從業者的職業展望:替代之惑與轉型之道

一、引言1.1 科技變革的浪潮&#xff1a;AI 崛起與 IT 行業震蕩在當今科技飛速發展的時代&#xff0c;人工智能&#xff08;AI&#xff09;無疑是最具影響力的變革力量之一。從實驗室的前沿研究到廣泛的商業應用&#xff0c;AI 以驚人的速度滲透到各個領域&#xff0c;徹底改變…

DSP音頻算法移植優化工程師實戰

以下以音頻FIR濾波器算法為例&#xff0c;完整演示從MATLAB原型 → Python驗證 → TI DSP C語言移植優化的全流程&#xff0c;包含關鍵代碼和優化技巧&#xff1a;關鍵優化技術解析&#xff1a; 內存訪問優化使用#pragma DATA_ALIGN確保64位對齊&#xff08;滿足LDDW指令要求&a…

Spark 運行流程核心組件(三)任務執行

一、啟動模式 1、standalone資源申請&#xff1a;Driver向Master申請Executor資源Executor啟動&#xff1a;Master調度Worker啟動Executor注冊通信&#xff1a;Executor直接向Driver注冊 2、YARNDriver向YARN ResourceManager(RM)申請AM容器RM分配NodeManager(NM)啟動AM&#x…

rabbitmq發送的延遲消息時間過長就立即消費了

RabbitMQ延遲消息在設置過長時間后被立即消費的問題&#xff0c;通常與以下原因有關&#xff1a; TTL限制問題 RabbitMQ對消息TTL(Time To Live)有32位整數限制(0-4294967295毫秒)&#xff0c;約49.7天。超過該值的延遲時間會導致消息立即被消費解決方案&#xff1a;確保設置的…

kafka的pull的依據

1. 每次 pull() 是否必須在提交上一批消息的 offset 之后&#xff1f;絕對不需要&#xff01; 提交 offset 和調用 poll() (拉取消息) 是兩個完全獨立的行為。消費者可以連續調用 poll() 多次&#xff0c;期間完全不提交任何 offset。 這是 Kafka 消費者的正常工作模式。提交 o…

學習嵌入式的第二十一天——數據結構——鏈表

單向鏈表特點&#xff1a;存儲的內存空間不連續 。為了彌補順序存儲存劣勢。優勢 插入&#xff0c;刪除 O(1) 動態存儲 &#xff0c;在程序運行期間決定大小。劣勢&#xff1a; 不能隨機訪問 O(N) 節點-> 數據域指針域 順序表(數組) 只有數據域鏈表的操作代碼&#xff1…

Rust Web 全棧開發(十三):發布

Rust Web 全棧開發&#xff08;十三&#xff09;&#xff1a;發布Rust Web 全棧開發&#xff08;十三&#xff09;&#xff1a;發布發布 teacher_service發布 svr測試 teacher_service 和 svr發布 wasm-client測試 wasm-clientRust Web 全棧開發&#xff08;十三&#xff09;&a…

Zephyr 中的 bt_le_per_adv_set_data 函數的介紹和應用方法

目錄 概述 1 函數接口介紹 1.1 函數原型 1.2 功能詳解 2 使用方法 2.1 創建流程 2.1.1 創建擴展廣播實例 2.1.2 設置周期性廣播數據 2.1.3 配置周期性廣播參數 2.1.4 啟動廣播 2.2 主流程函數 2.3 關鍵配置 (prj.conf) 3 高級用法 3.1 大數據分片傳輸 3.2 動態數…

Ansible 角色管理指南

Ansible 角色管理指南 實驗環境設置 以下命令用于準備實驗環境&#xff0c;創建一個工作目錄并配置基本的Ansible設置&#xff1a; # 創建web工作目錄并進入 [azurewhiskycontroller ~]$ mkdir web && cd web# 創建Ansible配置文件 [azurewhiskycontroller web]$ cat &…

【補充】數據庫中有關系統編碼和校驗規則的簡述

一、字符集和校驗規則&#xfeff;1.創建數據庫案例數據庫創建方法&#xff1a;使用CREATE DATABASE語句創建數據庫字符集指定方式&#xff1a;通過CHARACTER SETutf8指定數據庫編碼格式默認配置說明&#xff1a;未指定字符集時默認使用utf8和utf8_general_ci配置文件位置&…