使用Python實(shí)現(xiàn)實(shí)時(shí)金價(jià)監(jiān)控并自動(dòng)提醒功能
工具能干啥?
簡單來說就是:
- 自動(dòng)盯著黃金價(jià)格??
- 賺了40塊會(huì)開心提醒我"可以賣啦!"
- 虧了60塊會(huì)哭唧唧提醒我"注意止損!"
- 每30秒偷偷看一眼價(jià)格,完全不用我 操心
手把手教你用
1、先裝好這些"食材"
pip install selenium webdriver-manager beautifulsoup4
2、代碼實(shí)現(xiàn)講解
代碼分為幾個(gè)關(guān)鍵模塊,下面我們逐段解析。
1. 用戶輸入?yún)?shù)
x = float(input("請(qǐng)輸入買入時(shí)金價(jià)(元/克): "))
y = float(input("請(qǐng)輸入買入金額(元): "))
buy_weight = y / x
print(f"買入克數(shù): {buy_weight:.4f} 克")
用戶只需輸入兩項(xiàng):買入時(shí)金價(jià)和買入金額,程序會(huì)自動(dòng)幫你算出買入的黃金克數(shù)(忽略手續(xù)費(fèi))。
2. 設(shè)置無頭瀏覽器(Selenium)
chrome_options = Options()
chrome_options.add_argument("--headless") # 無界面運(yùn)行
chrome_options.add_argument("--disable-gpu")
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)
我們使用 Selenium + webdriver-manager 來實(shí)現(xiàn)網(wǎng)頁訪問,并設(shè)置瀏覽器為“無頭模式”,即后臺(tái)運(yùn)行,不彈出瀏覽器窗口,運(yùn)行更輕便。
3. 抓取實(shí)時(shí)金價(jià)(BeautifulSoup + 正則)
html = driver.page_source
soup = BeautifulSoup(html, 'html.parser')
all_titles = soup.find_all('span', class_='gold-price-persent-title')
...
通過 BeautifulSoup 來解析頁面HTML內(nèi)容,找到金價(jià)字段并用正則提取數(shù)字,兼容jd移動(dòng)端頁面結(jié)構(gòu)(這個(gè)頁面PC訪問可能為空白,但移動(dòng)端HTML源碼中是有數(shù)據(jù)的)。
4. 盈虧計(jì)算與提醒邏輯
current_value = gold_price * buy_weight
profit = current_value - y
...
if profit >= 40:
popup("賣出提醒", msg)
elif profit <= -60:
popup("虧損提醒", msg)
這里是盈利邏輯的核心部分,實(shí)時(shí)計(jì)算你當(dāng)前賬戶中黃金價(jià)值與初始投資的差額,并在盈虧超過指定值時(shí)通過彈窗提醒。
彈窗是通過 ctypes.windll.user32.MessageBoxW 實(shí)現(xiàn)的,兼容 Windows 系統(tǒng),效果如下:

5. 自動(dòng)循環(huán) + 中斷退出
while True:
...
time.sleep(30)
腳本默認(rèn)每30秒刷新一次網(wǎng)頁獲取新金價(jià),并自動(dòng)循環(huán)運(yùn)行。如果你按下 Ctrl + C,腳本會(huì)優(yōu)雅退出并關(guān)閉瀏覽器。
項(xiàng)目實(shí)測(cè)效果
實(shí)際運(yùn)行過程中,當(dāng)我輸入:
請(qǐng)輸入買入時(shí)金價(jià)(元/克): 780.52 請(qǐng)輸入買入金額(元): 10000
程序每半分鐘自動(dòng)更新一次金價(jià),并在達(dá)到設(shè)定盈虧條件時(shí)自動(dòng)彈出提醒框,及時(shí)提示買賣時(shí)機(jī),非常實(shí)用!

可以拓展的功能
這個(gè)項(xiàng)目只是一個(gè)基礎(chǔ)框架,你可以根據(jù)自己的需求繼續(xù)拓展:
- 自動(dòng)繪制金價(jià)走勢(shì)圖;
- 集成郵件或微信推送,可以把
popup換成微信機(jī)器人通知; - 設(shè)置運(yùn)行時(shí)間區(qū)間(如早9點(diǎn)到晚8點(diǎn));
- 接入AI判斷買賣信號(hào)
- 可以同時(shí)監(jiān)控支付寶、銀行APP的價(jià)格……
總結(jié)
這個(gè)小工具雖然簡單,卻非常實(shí)用,適合有黃金投資習(xí)慣的朋友隨時(shí)監(jiān)控自己的盈虧情況。通過 Selenium + BeautifulSoup + ctypes 的組合,我們可以實(shí)現(xiàn)自動(dòng)化盯盤、節(jié)省精力、提高效率!
以上就是使用Python實(shí)現(xiàn)實(shí)時(shí)金價(jià)監(jiān)控并自動(dòng)提醒功能的詳細(xì)內(nèi)容,更多關(guān)于Python金價(jià)監(jiān)控并提醒的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python opencv實(shí)現(xiàn)切變換 不裁減圖片
這篇文章主要為大家詳細(xì)介紹了python opencv實(shí)現(xiàn)切變換,不裁減圖片,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07
基于Django signals 信號(hào)作用及用法詳解
這篇文章主要介紹了基于Django signals 信號(hào)作用及用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Python數(shù)據(jù)容器0基礎(chǔ)入門解析之字符串到字典
在Python編程中有時(shí)候我們需要將一個(gè)字符串轉(zhuǎn)換為字典的形式,這篇文章主要介紹了Python數(shù)據(jù)容器0基礎(chǔ)入門解析之字符串到字典的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-12-12
python3+opencv 使用灰度直方圖來判斷圖片的亮暗操作
這篇文章主要介紹了python3+opencv 使用灰度直方圖來判斷圖片的亮暗操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06
在Pycharm中對(duì)代碼進(jìn)行注釋和縮進(jìn)的方法詳解
今天小編就為大家分享一篇在Pycharm中對(duì)代碼進(jìn)行注釋和縮進(jìn)的方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01
Python用Pillow(PIL)進(jìn)行簡單的圖像操作方法
下面小編就為大家?guī)硪黄狿ython用Pillow(PIL)進(jìn)行簡單的圖像操作方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07
python網(wǎng)絡(luò)爬蟲采集聯(lián)想詞示例
這篇文章主要介紹了python網(wǎng)絡(luò)爬蟲采集聯(lián)想詞示例,需要的朋友可以參考下2014-02-02
在實(shí)驗(yàn)中需要自己構(gòu)造單獨(dú)的HTTP數(shù)據(jù)報(bào)文,而使用SOCK_STREAM進(jìn)行發(fā)送數(shù)據(jù)包,需要進(jìn)行完整的TCP交互。因此想使用原始套接字進(jìn)行編程,直接構(gòu)造數(shù)據(jù)包,并在IP層進(jìn)行發(fā)送,即采用SOCK_RAW進(jìn)行數(shù)據(jù)發(fā)送。使用SOCK_RAW的優(yōu)勢(shì)是,可以對(duì)數(shù)據(jù)包進(jìn)行完整的修改,可以處理IP層上的所有數(shù)據(jù)包,對(duì)各字段進(jìn)行修改,而不受UDP和TCP的限制。2014-02-02
django 解決自定義序列化返回處理數(shù)據(jù)為null的問題
這篇文章主要介紹了django 解決自定義序列化返回處理數(shù)據(jù)為null的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05

