用Python监控金价并实现自动提醒!附完整源码
- 💂 个人网站:【 摸鱼游戏】【神级代码资源网站】【星海网址导航】
- 💻香港大宽带-4H4G 20M只要36/月👉 点此查看详情
在日常投资中,很多朋友喜欢在一些平台买点黄金,低买高卖赚点小差价。但黄金价格实时波动频繁,总是盯着手机太累了,于是我用Python写了一个实时金价监控+自动提醒脚本,可以帮我在金价波动达到盈亏阈值时自动弹窗提醒,告别手动盯盘!
🌟 工具能干啥?
简单来说就是:
- 自动盯着黄金价格👀
- 赚了40块会开心提醒我"可以卖啦!"🎉
- 亏了60块会哭唧唧提醒我"注意止损!"😭
- 每30秒偷偷看一眼价格,完全不用我操心⏰
🛠️ 手把手教你用
1️⃣ 先装好这些"食材"
pip install selenium webdriver-manager beautifulsoup4
2️⃣ 代码实现讲解
代码分为几个关键模块,下面我们逐段解析。
📌1. 用户输入参数
x = float(input("请输入买入时金价(元/克): "))
y = float(input("请输入买入金额(元): "))
buy_weight = y / x
print(f"买入克数: {buy_weight:.4f} 克")
用户只需输入两项:买入时金价和买入金额,程序会自动帮你算出买入的黄金克数(忽略手续费)。
📌2. 设置无头浏览器(Selenium)
chrome_options = Options()
chrome_options.add_argument("--headless") # 无界面运行
chrome_options.add_argument("--disable-gpu")
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)
我们使用 Selenium + webdriver-manager
来实现网页访问,并设置浏览器为“无头模式”,即后台运行,不弹出浏览器窗口,运行更轻便。
📌3. 抓取实时金价(BeautifulSoup + 正则)
html = driver.page_source
soup = BeautifulSoup(html, 'html.parser')
all_titles = soup.find_all('span', class_='gold-price-persent-title')
...
通过 BeautifulSoup
来解析页面HTML内容,找到金价字段并用正则提取数字,兼容jd移动端页面结构(这个页面PC访问可能为空白,但移动端HTML源码中是有数据的)。
📌4. 盈亏计算与提醒逻辑
current_value = gold_price * buy_weight
profit = current_value - y
...
if profit >= 40:popup("卖出提醒", msg)
elif profit <= -60:popup("亏损提醒", msg)
这里是盈利逻辑的核心部分,实时计算你当前账户中黄金价值与初始投资的差额,并在盈亏超过指定值时通过弹窗提醒。
📢 弹窗是通过 ctypes.windll.user32.MessageBoxW
实现的,兼容 Windows 系统,效果如下:
📌5. 自动循环 + 中断退出
while True:...time.sleep(30)
脚本默认每30秒刷新一次网页获取新金价,并自动循环运行。如果你按下 Ctrl + C
,脚本会优雅退出并关闭浏览器。
🔧完整代码
代码开源如下,可直接复制运行:
点击查看完整代码👉 https://github.com/wanghao221/gold-price-alert/
🎯项目实测效果
实际运行过程中,当我输入:
请输入买入时金价(元/克): 780.52
请输入买入金额(元): 10000
程序每半分钟自动更新一次金价,并在达到设定盈亏条件时自动弹出提醒框,及时提示买卖时机,非常实用!
💡可以拓展的功能
这个项目只是一个基础框架,你可以根据自己的需求继续拓展:
- 💹 自动绘制金价走势图📈;
- 📧 集成邮件或微信推送,可以把
popup
换成微信机器人通知; - ⏱ 设置运行时间区间(如早9点到晚8点);
- 🤖 接入AI判断买卖信号
- 🌟可以同时监控支付宝、银行APP的价格……
🧾总结
这个小工具虽然简单,却非常实用,适合有黄金投资习惯的朋友随时监控自己的盈亏情况。通过 Selenium + BeautifulSoup + ctypes
的组合,我们可以实现自动化盯盘、节省精力、提高效率!
⭐ 项目已开源在 GitHub:gold-price-alert
如果你觉得有用,欢迎 Star 鼓励一下!你的支持是我继续折腾的动力 ✨
💖 温馨提示:投资有风险,我的小工具仅供参考哦~实际操作还是要多做功课!
⭐️ 好书推荐
《DeepSeek实战技巧精粹》
【内容简介】
多场景AI实战指南:智能办公+效率升级+三维能力进阶
从注册到API调用,从提示词工程到多模态创作
100+智能解决方案,100倍效率提升,全面构建未来竞争力
相关文章:
用Python监控金价并实现自动提醒!附完整源码
💂 个人网站:【 摸鱼游戏】【神级代码资源网站】【星海网址导航】💻香港大宽带-4H4G 20M只要36/月👉 点此查看详情 在日常投资中,很多朋友喜欢在一些平台买点黄金,低买高卖赚点小差价。但黄金价格实时波动频繁…...
加密领域 AI Agent 的崛起:DeFAI 如何重塑金融
原文:https://polkadot.com/blog/defai-crypto-ai-agents-explained/ 编译:OneBlock 一些创新大肆宣扬,另一些则在后台默默酝酿,不断迭代,直到它们突然无处不在,去中心化的金融系统也不例外。DeFi 解锁了…...
电位器如何接入西门子PLC的模拟量输入
1.设计思考 我现在手上有一个三线10kΩ的滑动变阻器,想让其当作模拟量接入西门子PLC中,外部改变电阻,PLC程序中能看到对应的阻值或电压,这样可以练习模拟量输入这个知识点! 2.了解模拟量的种类 模拟量一般有电压型和…...
发那科机器人5(异常事件和程序备份加载+ROBOGUIDE离线仿真)
发那科机器人5(异常事件和程序备份加载+ROBOGUIDE离线仿真) 一,异常事件和程序备份加载1,常见异常事件2,零点复归介绍3,程序备份-加载(未整理)二,`ROBOGUIDE`离线仿真1,仿真软件简介及安装步骤(未整理)2,机器人==导入与工具==与==工件添加==2.1,机器人导入(未整…...
第二章 如何安装KEIL5和新建工程
单芯片解决方案,开启全新体验——W55MH32 高性能以太网单片机 W55MH32是WIZnet重磅推出的高性能以太网单片机,它为用户带来前所未有的集成化体验。这颗芯片将强大的组件集于一身,具体来说,一颗W55MH32内置高性能Arm Cortex-M3核心…...
【Lattice FPGA 开发】Diamond在线调试Reveal逻辑乱跳的解决
在Vivado中在always块中写逻辑时如果出现always块中的异步复位敏感词在块内部未使用的情况,如下例的rst: always (posedge clk or posedge rst) begin if(~tx_sense_flag)o_rd_adr < d1;else if((o_rd_adr d94) & (bit_cnt d7))o_rd_adr <…...
跨浏览器自动化测试的智能生成方法
一、背景与挑战:跨浏览器测试为什么“难”? 在现代Web应用开发中,跨浏览器兼容性是用户体验的底线保障。面对Chrome、Firefox、Safari、Edge乃至IE、移动浏览器等多种运行环境,开发者与测试人员常面临: 相同DOM在不同…...
docker操作镜像-以mysql为例
Docker安装使用-CSDN博客 docker操作镜像-以mysql为例 当安装一个新的镜像时可以登录https://hub.docker.com/直接搜索想要安装的镜像,查看文档 1)拉取镜像 docker pull mysql 或者 docker pull mysql:版本号 然后直接跳到第4)步即可 2…...
【Yolo精读+实践+魔改系列】Yolov3论文超详细精讲(翻译+笔记)
前言 前面咱们已经把 YOLOv1 和 YOLOv2 的老底都给掀了,今天轮到 YOLOv3 登场,这可是 Joseph Redmon 的“封神之作”。讲真,这哥们本来是搞学术的,结果研究的模型被某些军方拿去“整点活”——不是做人是做武器的那种活。于是他一…...
【Python从入门到精通】--‘@‘符号的作用
在Python中,符号主要有三种用途:装饰器(Decorator)、矩阵乘法运算符(Python 3.5)以及类型提示中的修饰符(如typing)。 目录 1.--装饰器(Decorator) 2.--矩…...
git命令积累(个人学习)
如何将docx文件不上传? 创建或编辑 .gitignore 文件 打开 .gitignore 文件,添加以下内容来忽略所有 .docx 文件: *.docx清除已追踪的 .docx 文件 git rm --cached "*.docx"这将从 Git 仓库中删除 .docx 文件,但不会删…...
【人工智能核心技术全景解读】从机器学习到深度学习实战
目录 🌍 前言🏛️ 技术背景与价值💔 当前技术痛点🛠️ 解决方案概述👥 目标读者说明 🧠 一、技术原理剖析📊 核心概念图解💡 核心作用讲解🔧 关键技术模块说明⚖️ 技术选…...
android-ndk开发(10): use of undeclared identifier ‘pthread_getname_np‘
1. 报错描述 使用 pthread 获取线程名字, 用到 pthread_getname_np 函数。 交叉编译到 Android NDK 时链接报错 test_pthread.cpp:19:5: error: use of undeclared identifier pthread_getname_np19 | pthread_getname_np(thread_id, thread_name, sizeof(thr…...
CAP理论:分布式系统的权衡
CAP理论:分布式系统的权衡 引言一、CAP理论的核心定义二、CAP的权衡逻辑:如何选择?三、CAP的常见误区与澄清四、CAP的实际应用场景与技术实现五、现代分布式系统对CAP的突破与演进六、CAP理论的设计建议总结 引言 在分布式系统的设计与实践中…...
【软件设计师:软件工程】11.项目管理
一、项目管理内容 项目管理是通过规划、组织、协调资源,在有限时间与预算内实现特定目标的过程,核心是平衡范围、时间、成本、质量四大要素,确保项目成功交付。 1.核心内容 项目启动目标定义:明确项目范围、交付成果及成功标准。可行性分析:评估技术、经济与风险可行性…...
遗传算法求解异构车队VRPTW问题
这里写目录标题 染色体编码设计:两种染色体编码方式一、客户排列 分割点(Giant Tour Split)1. 示例编码与解码2. 采用 客户排列 分割点 设计的特点3. 编码实现(基于Python) 二、使用整体聚类局部路由(cl…...
区块链内容创作全攻略:海报、白皮书与视频的视觉化革命
区块链内容创作全攻略:海报、白皮书与视频的视觉化革命 ——2025年去中心化叙事的技术密码与商业实践 一、区块链海报设计:视觉叙事与用户心智占领 区块链海报需在3秒内抓住观众注意力,同时传递技术内核与商业价值。核心设计法则包括&#x…...
windows的rancherDesktop修改镜像源
您好!要在Windows系统上的Rancher Desktop中修改Docker镜像源(即设置registry mirror),您需要根据Rancher Desktop使用的容器运行时(containerd或dockerd)进行配置。用户提到“allowed-image”没有效果&…...
从零开始了解数据采集(二十四)——工业4.0讲解
在全球制造业加速变革的今天,“工业4.0”成为了一个炙手可热的词汇。从德国的概念提出,到我国的积极实践,这场技术与产业的深度融合正推动制造业迈向智能化、数字化的新时代。对于企业而言,这是一次不可多得的机遇,更是…...
Java复习笔记-基础
Java复习笔记 一、什么是JDK、JRE、JVM二、Keyword-关键字三、variable-变量浮点数类型-float和double字符类型-char基本数据类型变量间运算规则基本数据类型与 String 的运算和 四、逻辑运算符五、流程控制语句关于if else 和 switchfor循环while循环do while循环 六、Array-数…...
用递归实现各种排列
为了满足字典序的输出,我采用了逐位递归的方法(每一位的所能取到的最小值都大于前一位) 1,指数型排列 #include<bits/stdc.h> using ll long long int; using namespace std; int a[10];void printp(int m) {for (int h …...
基于Stable Diffusion XL模型进行文本生成图像的训练
基于Stable Diffusion XL模型进行文本生成图像的训练 flyfish export MODEL_NAME"stabilityai/stable-diffusion-xl-base-1.0" export VAE_NAME"madebyollin/sdxl-vae-fp16-fix" export DATASET_NAME"lambdalabs/naruto-blip-captions"acceler…...
SHA系列算法
SHA1系列算法 SHA(Secure Hash Algorithm,安全散列算法)是一组加密哈希算法,用于确保数据完整性和提供消息摘要功能。SHA算法由美国国家安全局(NSA)设计,并由国家标准与技术研究院(…...
985高校查重率“隐性阈值”:低于5%可能被重点审查!
你是不是也以为: “查重率越低越好,最好压到1%、0%,导师看了都感动哭🥹” 但是你不知道的是——在985/211等重点高校,查重率太低反而可能引起导师和学术办公室的“特别关注”! 今天就来扒一扒这个查重圈“…...
基于vue3+QuillEditor的深度定制
需求: 项目需求一个深度定制的富文本编辑器,要求能够定制表格,能够从素材库插入图片,以及其他个性化操作。我这里就基于vue3+ QuillEditor深度定制的角度,解析一下QuillEditor富文本编辑器的功能扩展功能的需求。 一、扩展工具栏 根据需求,我们需要扩展工具栏,实现自…...
Redis 8.0正式发布,再次开源为哪般?
Redis 8.0 已经于 2025 年 5 月 1 日正式发布,除了一些新功能和性能改进之外,一个非常重要的改变就是新增了开源的 AGPLv3 协议支持,再次回归开源社区。 为什么说再次呢?这个需要从 2024 年 3 月份 Redis 7.4 说起,因为…...
静态BFD配置
AR2配置 int g0/0/0 ip add 10.10.10.2 quit bfd quit bfd 1 bind peer-ip 10.10.10.1 source-ip 10.10.10.2 auto commit AR1配置 int g0/0/0 ip add 10.10.10.1 int g0/0/1 ip add 10.10.11.1 quit bfd quit bfd 1 bind peer-ip 10.0.12.2 source-ip 10.0.12.1 auto co…...
[python] 函数1-函数基础
一 函数使用 1.1 基本用法 def 函数名() 函数体 函数返回值: 返回调用的结果 def myPyFirstFunc():print("hello python") myPyFirstFunc()1.2 函数参数 def 函数名(形参a,形参b) 函数体 def add(a,b):return a b print(add(1,2)) print(add(1,4)) 二 函…...
【并发编程】MySQL锁及单机锁实现
目录 一、MySQL锁机制 1.1 按锁粒度划分 1.2 按锁功能划分 1.3 InnoDB锁实现机制 (1)记录锁(Record Lock) (2) 间隙锁(Gap Lock) (3) 临键锁(Next-Key Lock) (4) 插入意向锁(Insert Intention Lock) 二、基于 JVM 本地锁实现,保证线程安全 2.1 线程不安全的分析 2.1…...
C++ | 常用语法笔记
判断数字还是字母 1.笨办法,使用直接判断办法 if(c > 0 && c < 9) cout << "c是数字" << endl; if(c > a && c < z) cout << "c是小写字母" << endl; if(c > A && c< Z) …...
浅谈 Shell 脚本编程中引号的妙用
在 Shell 脚本编程中,引号的使用是一项基础却至关重要的技能。无论是单引号、双引号还是不加引号,它们都会显著影响 Shell 对字符串、变量、特殊字符以及命令的解析方式。理解这些差异不仅能帮助开发者编写更健壮的脚本,还能避免因误解引发的…...
DeFi开发系统软件开发:技术架构与生态重构
DeFi开发系统软件开发:技术架构与生态重构 ——2025年去中心化金融开发的范式革新与实践指南 一、技术架构演进:从单一链到多链混合引擎 现代DeFi系统开发已从单一公链架构转向“跨链互操作混合模式”,结合中心化效率与去中心化安全双重优势…...
Spring AI 集成 DeepSeek V3 模型开发指南
Spring AI 集成 DeepSeek V3 模型开发指南 前言 在人工智能飞速发展的当下,大语言模型不断推陈出新,DeepSeek AI 推出的开源 DeepSeek V3 模型凭借其卓越的推理和问题解决能力备受瞩目。与此同时,Spring AI 作为一个强大的框架,…...
C++:扫雷游戏
一.扫雷游戏项目设计 1.文件结构设计 首先我们要先定义三个文件 ①test.c //文件中写游戏的测试逻辑 ②game.c //文件中写游戏中函数的实现等 ③game.h //文件中写游戏需要的数据类型和函数声明等 2.扫雷游戏的主体结构 使⽤控制台实现经典的扫雷游戏 •游戏可以通过菜单…...
【写作格式】写论文时常见格式问题
写作格式 1.图片总是乱跑,怎么固定图片2.一键更新引用3.交叉引用[1][2][3]怎么变为[1,2,3]4.目录灰色底纹怎么消除5.word保存为pdf提取标题为书签 1.图片总是乱跑,怎么固定图片 遇到的问题 解决方法 第一步:图片格式——>环绕文字——&g…...
Android平台FFmpeg视频解码全流程指南
本文将详细介绍在Android平台上使用FFmpeg进行高效视频解码的实现方案,采用面向对象的设计思想。 一、架构设计 1.1 整体架构 采用三层架构设计: • 应用层:提供用户接口和UI展示 • 业务逻辑层:管理解码流程和状态 • Native…...
C31-形参与实参的区别
一 形参与实参 实参:调用函数时传递的实际值,可以是变量、常量或表达式,如"add(3,a)"中的’3’与’a’形参:函数定义中声明的参数变量,用于接收实参的值,如"int add(intx,inty)"中的’x’与’y’ C语言默认通过值传递参数,形参与实参是独立的变量,仅数据…...
自学嵌入式 day 16-c语言-第10章 指针
14 指针函数 返回值是指针的函数。 (1)动态内存分配 ①使用方式: #include<stdlib.h> void *malloc(size_t size) ②返回连续的内存空间的首元素地址,内存空间未被初始化,申请的是堆区的空间。 ③内存空间申请…...
DataWorks快速入门
文章目录 一、DataWorks简介1、概念2、功能3、优势 二、DataWorks使用1、创建工作空间2、绑定计算资源3、数据开发 三、DataWorks节点类型1、MaxCompute SQL节点①创建非分区表并插入数据②创建分区表并插入数据③查询表数据 2、离线同步节点3、PYODPS 3节点①判断表是否存在②…...
AtCoder Beginner Contest 404 A-E 题解
还是ABC好打~比ARC好打多了( 题解部分 A - Not Found 给定你一个长度最大25的字符串,任意输出一个未出现过的小写字母 签到题,map或者数组下标查询一下就好 #include<bits/stdc.h>using namespace std;#define int long long #def…...
WiFi出现感叹号上不了网怎么办 轻松恢复网络
在日常生活中,WiFi已成为不可或缺的一部分。然而,有时我们会遇到WiFi图标上出现了感叹号,无法上网。无论是办公、学习还是娱乐,这种情况都会严重影响体验。这种情况该怎么解决呢?本期驱动哥就给各位介绍几种简单的解决…...
M0芯片的基础篇Timer
一、计数器的原理 加法计数器 减法计数器 触发中断 最短计时时间 时钟周期决定 16bit 65535 最长计时时间 时间周期和最大计数值决定 二、syscfg配置 timg:通用定时器 tima:高级定时器 timx:不论是高级定时器还是通用定时器都是一样…...
vue教程(vuepress版)
Vue 完全指南 项目介绍 这是一个系统化的 Vue.js 学习教程,采用循序渐进的方式,帮助开发者从零开始掌握 Vue 开发技能。 教程特点 循序渐进: 从 Vue 基础概念开始,逐步深入到高级特性,适合不同层次的开发者学习实战驱动: 结合…...
【嵌入式开发-USB】
嵌入式开发-USB ■ USB简介 ■ USB简介...
【前端】webstorm运行程序浏览器报network error
是浏览器阻止了链接,先把能正常访问的链接搜索,禁止访问的时候,高级,强制访问,再运行项目生成的网址就可以了。...
国内led显示屏厂家以及售后 消费对比与选择
国内led显示屏的厂家有很多,虽然让消费者在选择的时候有了多种的机会,可是在质量方面的鉴别上也是无从下手。对此为了方便消费者作出选择,下面为您推荐一些品牌厂家。 1、强力巨彩 是全球比较有名气的LED显示屏厂家的制造商,总厂房…...
【Go】优化文件下载处理:从多级复制到零拷贝流式处理
在开发音频处理服务过程中,我们面临一个常见需求:从网络下载音频文件并保存到本地。这个看似简单的操作,实际上有很多优化空间。本文将分享一个逐步优化的过程,展示如何从一个基础实现逐步改进到高效的流式下载方案。 初始实现&a…...
驱动开发硬核特训 · Day 30(上篇):深入理解 I2C 总线驱动模型(以 at24 EEPROM 为例)
作者:嵌入式Jerry 视频教程请关注 B 站:“嵌入式Jerry” 一、写在前面 在上一阶段我们已经深入理解了字符设备驱动与设备模型之间的结合方式、sysfs 的创建方式以及平台驱动模型的实际运用。今天我们迈入总线驱动模型的世界,聚焦于 I2C 总线…...
LaTeX印刷体 字符与数学符号的总结
1. 希腊字母(Greek Letters) 名称小写 LaTeX大写 LaTeX显示效果Alpha\alphaAαα, AABeta\betaBββ, BBGamma\gamma\Gammaγγ, ΓΓDelta\delta\Deltaδδ, ΔΔTheta\theta\Thetaθθ, ΘΘPi\pi\Piππ, ΠΠSigma\sigma\Sigmaσσ, ΣΣOmega\omeg…...
关键字where
C# 中的 where 关键字主要用在泛型约束(Generic Constraints)中,目的是对泛型类型参数限制其必须满足的条件,从而保证类型参数具备特定的能力或特性,增强类型安全和代码可读性。 约束写法说明适用场景举例C#版本要求w…...