股票数据爬虫数据源股城网,重心放在多支股票的概览信息上【未放在单只股票历史数据的分析与可视化,这一点也值得去做】;
绘图用matplotlib,涉及饼图、柱状图、雷达图的设计、实现和优化,值得参考;
全量源码两周后提供
首先是数据源的获取,从股城网股票代码一览表获取,我们打开网页,源码模式观察,股票代码从href中获取
然后进入每支股票的详情页面爬取当日信息:
待爬取的位置:
采用console中提示菜单的方式贯通整个操作过程,简约高效;
表格处理使用pandas库;
作图matplotlib,涉及饼图、柱状图、雷达图及各种图的优化;
计时器是封装好的常用的装饰器;
预留位置
输入1
,回车
提示需要爬取的最大数目【建议15-20,因为后面绘图都是全量的,太多股票显示效果不好,没有随机采样有限个数个】此处列为TODO考虑作优化~
输入18个,因为网络和网页问题,可能会缺失几条股票信息!
例如我输入爬取40条,结果少了四条:
两个显示效果不好的例子
:
36支股票的效果已经很不好看了:
数目过多情况下,饼图已经重叠到爆炸:
输入2
,回车
即可看到当前表格文件中存储的所有股票的信息,以pandas的dataframe格式展示,中间过多数据以…省略号缩写;
输入3
,回车
,即可对当前文件中所有股票进行对比;
颜色和图例做过优化,但是仍有叠加情况【考虑过占比少和多的扇形交叉展示,但是此处数据根据涨跌幅做过排序】
点击关闭图形窗口即可继续运行系统!~
输入4
,回车
,即可生成当前所有股票【最高】柱状图;
输入5
,回车
,先展示当前股票信息,最前面一列为股票的索引,从0开始;
然后根据提供的股票索引,输入两个存在的整数,即可生成雷达对比图;
输入6
,回车
;
即可将保存的股票表格文件删除,以方便下次爬取和生成新的股票表格文件;
输入0
,回车
;
即可退出并关闭程序;
通过此系统的设计与开发并优化过程,熟悉了matplotlib与pandas两个重要库的基本操作和使用;
另外对爬虫的网页分析和爬取也有了一定程度的学习;
需要优化的地方更在于系统项目更具有业务上的意义的设计;
本文地址:https://blog.csdn.net/qq_33997198/article/details/107325441
如对本文有疑问, 点击进行留言回复!!
听课笔记--Python数据分析--Numpy基础及基本应用
Python-定时任务APScheduler中两种调度器的区别
网友评论