基于python 的股市行情查询系统开发(一)

  • 一、前言
    • 1、开发背景
  • 二、开发计划
    • 1、开发语言
    • 2、数据api获取
    • 3、后续计划
  • 今日进度
    • 1、前期准备
    • 2、获取股票代码

一、前言

1、开发背景

作为一个出入股市的小白程序员,在没有金融知识的加成下,自然是成绩惨淡,因此我痛定思痛,决定通过程序的力量,进行一个质的交易水平提高的方法,那就是自己写一个股票量化行情系统,再搭配好强大的交易策略,摒弃人性的贪婪和恐惧。好了,废话不多说了,开搞!

二、开发计划

1、开发语言

typescript
查阅了股票中的大的名称术语等等 ,看看用什么开发比较好。首先是考虑了数据中的比较好的vscode 的插件开发,然而我并不会typescript(js)开发,暂时先不考虑哈哈哈哈哈哈。而且股票数据的获取也是异常的僵硬,想着搞点免费的数据接口用用,然而大部分的数据接口都已经封装好了,个人想法想从零开始搭建一个自己的股票数据查询软件,可以自己定制各种公式数据进行计算,图表啊等等(我只是想想。。。)。
python
所以,想来想去正好把之前学的python重新再捡起来,而且python中的各种模块啊开发起来比较高效和方便,正好也提升一下自己的编码能力。顺便练练自己的炒股水平哈哈哈。

2、数据api获取

查看东方财富的网站,看看爬虫能不能直接网页上把数据爬了。结果爬出来发现数据竟然变成“–”,一脸懵逼,网上查了查发现原来是用了ajax动态获取数据的方法,数据再加载到浏览器页面上的,这个还得分析他的请求参数,之后可能回去研究研究,遂放弃。第二种方法,selenium直接模拟浏览器进行抓取,但是太卡了影响抓取数据,果断看看还有什么办法。就在我不知道如何是好时,突然!有网友说有网易有免费的!api接口!卧槽,那还等什么直接搞起。
这里我也会放出相关的免费数据api接口:
lg507股票数据
新浪实时数据接口 (list后面的参数进行修改)
网易财经历史数据接口
需要注意的是,网易的接口直姐点击为csv文件,直接可以用爬虫进行抓取,之后存入mysql啊什么数据库也方便的多。

 http://quotes.money.163.com/service/chddata.html?code=0600772&end=20210307fields=TCLOSE;HIGH;LOW;TOPEN;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP

code中股票代码第一位0代表沪市、1代表深市,后面为股票代码(港股为5位)。
enddate中输入日期为从发行该只股票到此日期期间的所有交易数据

3、后续计划

后续会添加一些其他的交易行情,比如期货啊、黄金、比特币、美股等等啥的(疯狂画饼中。。。)

今日进度

1、前期准备

在开始之前,必须知道,ide得用什么。这次,我选择了vscode进行整个系统的开发,因为确实轻量级的ide以及简洁的界面对于开发者来说是具有非常大的正面效果。vscode就有这样的特点,so ,let’s go 。

2、获取股票代码

首先,使用re模块进行网站的请求。

import re
'''
取得网页的内容
'''
def getHTMLText(url,timeout=30):try:r = requests.get(url,timeout = 30)r.raise_for_status()r.encoding = "UTF-8"return r.textexcept:return '产生异常'

接着,我们通过获取到HTML内容使用BeautifulSoup对数据进行处理,将获得的数据写入csv文件中。

from bs4 import BeautifulSoup as bs
def get_stock_list(html): #沪市final_list = []final_list.append(['股票名称','股票代码'])soup = bs(html,'html.parser')body = soup.bodydata = body.find('ul',{'class':'ngblistul2'}) data_hide = body.find('ul',{'class':'ngblistul2 hide'})     # ngblistul2 hidelis  = data.find_all('li') + data_hide.find_all('li')for li in lis:data1 = li.find_all('a')data2 = data1[0].stringmatch1 = re.findall("[0-9]{6}",data2)  #匹配前6位代码   match2 = re.sub(u"\\(.*?\\)", "", data2)final_list.append([match2,match1[0]])  return final_list
def write_to_csv(lists):  #写入csvtry:with open('D:\\股票数据\\stocklist.csv','w',newline='') as csvfile:writer = csv.writer(csvfile)for row in lists:writer.writerow(row)except:return '产生异常'
def read_from_csv(file):   #读取csvstock_list = []try:with open(file,'r') as csvfile:reader = csv.reader(csvfile)for line in reader:stock_list.append(line)return stock_list    except:return '产生异常'

来,让我们执行一下:

def main():url = 'http://guba.eastmoney.com/remenba.aspx'html = sus.getHTMLText(url)stock_list = get_stock_list(html)write_to_csv(stock_list)stock_list = sus.read_from_csv("D:\\股票数据\\stocklist.csv")print(stock_list)main()

效果如图:

再来看看csv文件:

OK,就此获取股票名称和股票代码的工作搞定。
下篇开始进行历史行情的获取以及数据的存取

基于python 的股票行情查询系统开发(一)相关推荐

  1. python遥感图像处理_基于Python的矿山遥感监测系统开发方法

    目前,很多学者都是从宏观上讨论遥感和GIS一体化集成的可能性及集成的方法,但这些研究在GIS和RS方向只是对Python集成研究的思路或某一功能的介绍,并没有一个基于Python开发的集成GIS与RS ...

  2. 459基于python的汽车维修零配件查询系统

    1 用户登录和前台首页模块的实现 系统后台管理模块需要登入后才能使用,只有登录后才能够进行操作,管理员用户登录的用户名:Admin,密码Admin 2站内公告信息管理 管理员可以再后台添加公告信息,在 ...

  3. python软件开发电子产品测试方向_基于Python语言的自动测试系统通用软件平台实现...

    期 No.5 2019 年 3 月 Mar. 2019 收稿日期: 2018-05-06 稿件编号: 201805027 基金项目: 中国电科第十研究所发展基金 ( SSJ-1784 ) 作者简介: ...

  4. 基于Python+django的航班查询与推荐-计算机毕业设计

    项目介绍 随着时代的发展,人们选择出行的方式也有了很多的选择,但是就目前来说飞机和航班是最便捷的出行方式之一,尤其是对于一些旅程比较远的游客来说,选择飞机和航班无疑是最佳的选择,为了能够让乘客更加方便 ...

  5. 计算机毕业设计django基于python智能在线考试阅卷系统

    项目介绍 随着计算机多媒体技术的发展和网络的普及.采用当前流行的B/S模式以及3层架构的设计思想通过Python技术来开发此系统的目的是建立一个配合网络环境的基于python的学校对在线考试阅卷系统的 ...

  6. 基于python的股票程序化交易软件_tushare开源股票交易接口基于python实现技术

    tushare开源股票交易接口基于python实现技术 怎样在tushare中完成股票实盘交易 其实,如何使用实盘交易功能接口,与通过tushare获取数据一样简单,先看一下几个关键接口的使用方法: ...

  7. 【开源项目】股票配资系统开发与设计

    [开源项目]股票配资系统开发与设计 对系统有疑惑,请联系我:5643429   可为您解答 简述:2016年10月在杭州同花顺实习与工作,从小白到一名证券系统开发人员,[股票交易系统]是当时开发的一套 ...

  8. NVIDIA专家实战演示,教你快速搭建基于Python的车辆信息识别系统

    主讲人 | 何琨 英伟达 量子位编辑 | 公众号 QbitAI 随着智慧城市.自动驾驶的快速落地,车辆的检测和识别应用场景非常广泛,如车牌识别.车流统计.车辆属性识别等. 近日,在英伟达x量子位发起的 ...

  9. CV公开课报名 | 快速搭建基于Python的车辆信息识别系统

    位来 发自 凹非寺 量子位 编辑 | 公众号 QbitAI 时下,智慧城市和自动驾驶快速发展,车辆的检测和识别应用场景非常广泛,如车牌识别.车流统计.车辆属性识别等. 但是从0搭建一个精度高.速度快的 ...

最新文章

  1. PHP数据库连接池SQL Relay安装使用
  2. 织梦同步静态文件到服务器,静态网站添加到织梦
  3. 如何在 Linux 上用 SQL 语句来查询 Apache 日志
  4. python datasets 下载_Python机器学习·微教程
  5. 设计模式C++实现 ——状态模式
  6. 铜仁计算机专业学校,听说计算机专业的在本部啊 这是真的么
  7. 阿里高级技术专家总结6年来的成长和收获
  8. 亚信安全发布“安全定义边界”2020发展理念 赋能企业在5G时代的数字化安全运营能力
  9. 【代码笔记】iOS-切换条
  10. 信用评分卡模型分析(基于Python)--理论部分
  11. window远程桌面无法复制粘贴文件到本地
  12. 2013 腾讯实习生招聘 武汉 一面
  13. Java - Lambda Error:Variable used in lambda expression should be final or effectively final
  14. 从零开始做运营 入门版(张亮著)读书知识整理①
  15. Android内存管理优化建议
  16. jpa mysql_Spring boot通过JPA访问MySQL数据库
  17. 数据分析 --- 收集数据的原则
  18. 【SDOI2013 necklace】项链
  19. Frida 安卓逆向破解Unity游戏IL2CPP
  20. java复制pdf_防止复制使用iText生成的pdf内容

热门文章

  1. python 动态壁纸
  2. 【开发经验】客户端互踢实现思路
  3. 如何查看文件字节大小
  4. 每周分享第 21 期
  5. Vue3.0报错:The component has been registered but not used vue/no-unused-components,关闭eslint
  6. VC++实现的基于人眼状态的疲劳驾驶识别系统
  7. 网络黑客攻击呈现三大特点 形成利益链条
  8. 读书笔记 - 《史蒂夫·乔布斯传》
  9. [计算机基础]整理计算机的数据计量单位
  10. 蛋白质一级结构全局比对 Needleman-Wunsch 算法的 Python 实现