今天跟大家聊聊我这两天捯饬的“鄂尔多斯股票行情”这事儿。别看我平时瞎玩,但对股票也挺感兴趣,就想着能不能自己搞点数据看看。
我就想着最简单直接的,直接在网上扒数据。找了几个财经网站,发现数据倒是不少,但是要么就是格式乱七八糟,要么就是得登录,太麻烦。后来发现有个网站还行,能直接提供一些股票的基本信息,比如开盘价、收盘价啥的,但是更新频率不高,只能凑合着用。
拿到数据之后,我开始琢磨怎么把这些数据整理出来。我用Python写了个小脚本,把数据从网页上抓下来,然后用正则表达式把需要的信息提取出来,存到CSV文件里。
python
import requests
import re
import csv
def get_stock_data(stock_code):
url = f"*/stock/{stock_code}" #这里替换成你找到的网页
response = *(url)
*_for_status() # 检查请求是否成功
html = *
# 使用正则表达式提取数据,这里需要根据网页的实际结构来修改
price = *(r'"price":"(.?)"', html).group(1) if *(r'"price":"(.?)"', html) else "N/A"
open_price = *(r'"open_price":"(.?)"', html).group(1) if *(r'"open_price":"(.?)"', html) else "N/A"
# ... 其他数据的提取
return {
"price": price,
"open_price": open_price,
# ... 其他数据
if __name__ == "__main__":
stock_code = "sh600295" # 鄂尔多斯股票代码
data = get_stock_data(stock_code)
# 写入CSV文件
with open("ordos_*", "w", newline="") as csvfile:
fieldnames = ["price", "open_price", ...] # 这里填写所有你提取的数据字段
writer = *(csvfile, fieldnames=fieldnames)
*(data)
print("数据已保存到 ordos_*")
这段代码简单来说,就是先定义一个函数`get_stock_data`,这个函数接受股票代码作为输入,然后构造URL,发送请求,拿到网页的HTML内容。用正则表达式从HTML里提取出股票的价格、开盘价等等信息,把这些信息放到一个字典里返回。主程序里,我们调用这个函数,传入“sh600295”(鄂尔多斯股票代码),拿到数据后,把数据写入到名为“ordos_*”的文件里。
抓下来之后,看着这一堆数据,有点懵。光看数字,啥也看不出来。于是我又开始琢磨,能不能把这些数据可视化一下。我选择了用 matplotlib 库来画图。
我把CSV文件里的数据读出来,然后画了几个简单的折线图,比如股价随时间变化的图,成交量随时间变化的图。
- 股价趋势图:看看最近一段时间股价是涨了还是跌了。
- 成交量图:观察交易活跃度。
画出来之后,总算有点感觉了。虽然图很简陋,但是能大概看出一些趋势。
这只是个简单的尝试。如果真想做好股票分析,光靠这些简单的数据肯定不够。还得结合更多的信息,比如公司财报、行业新闻等等。以后有机会,我再深入研究研究。
还没有评论,来说两句吧...