"景先生毕设|www.jxszl.com

基于网络爬虫的中国基金数据分析及可视化系统(附件)【字数:7985】

2024-11-03 13:56编辑: www.jxszl.com景先生毕设
摘 要本课题采用request获取天天基金网中基金数据,pandas进行数据分析,python+flask+Echarts实现天天基金网基金档案菜单和基金排行菜单的所有数据的web可视化,通过对数据的分析分类将基金总数,日增长为正的基金总数,累计净值大于1,成立来为正增长的基金数在web页面动态显示,并且对多个基金的各项具体数据制作成图表分别展现到web页面。本课题的主要内容如下(1)数据爬取理解天天基金网站结构数据获取方式后,采用request获取接口数据; (2)数据清洗和分析探查数据结构和数据格式将数据存储为CSV文件;(3)分析结果动态显示基于python虚拟环境搭建flask框架,HTML+Echarts编写web界面。本课题综合应用大数据专业的多项技术,多维度分析中国基金的发展趋势,为市场管理者和参与者提供决策依据,具有较高的市场应用价值。
目 录
一、引言 1
(一)背景意义 1
(二)研究内容 1
二、 关键技术介绍 2
(一)Requests 2
(二)Python 2
(三)Pandas 2
(四)Html+CSS 2
(五)Jquery+Ajax 3
(六)ECharts 3
(七)Flask 3
三、数据采集与存储 3
(一)结构分析 3
(二)数据获取 6
(三)数据存储 7
四、数据清洗 8
(一)数据浏览 9
(二)数据去重处理 9
(三)数据一致处理 10
(四)数据去空处理 11
(五)删除不合理数据 12
(六)保存清数据 13
五、数据可视化 22
(一)可视化大屏展示 22
(二)各部分可视化展示 24
六、总结和展望 33
七、致谢 34
参考文献 35
附录 各部分详细代码 36
引言
(一)背景意义
20世纪90年代,对冲基金在英镑危机,东南亚金融危机中,获取了巨额的 *51今日免费论文网|www.51jrft.com +Q: *351916072
投机利润,同时,给世界经济造成了巨大的损失,使得各国都视之如洪水猛兽,避之唯恐不及,同样对于当今时代理财思维渐渐增强的年轻人对投资基金产生无比的向往,有些人凭借着运气与果断得到了丰厚的回报,有些人只能作为“韭菜”一绿到底,于是对于没有相关知识的普通人来说,有一个通过python爬虫爬取基金数据并在web端可视化的小程序便很有参考价值,帮助购入基金之前提供基于大量数据得出的相对比较信息。
(二)研究内容
本文采用requests技术获取天天基金网站数据,采用pandas库进行数据清洗和分析,采用Flask+HTML完成数据的web端可视化。数据采集部分包括:网站分析,数据获取,数据存储;数据清洗部分包括:去重处理,去空处理,一致处理;可视化部分包括:基金总数,日增长为正的基金总数,累计净值大于1,成立来为正增长的基金数在web页面动态显示,并且对感兴趣的7个基金的累计净值做成折线图、对两种看好的基金的多日净值做成波动图、对三个基金的近一周,近一月,近三月,近六月,近1年,近2年增长率做成五角几何图、感兴趣的8个基金的累计净值做成饼图、感兴趣的7个基金的手续费做成柱形图。
关键技术介绍
本文涉及Requests数据采集、清洗、分析、可视化等大数据的技术,采用Flask框架和Pycharm+HBuilder软件,下面进行详细介绍。
(一)Requests
Requests是一种基于Python环境编写,通过Apache作为开源协议的网络库。在计算机搜索框输入CMD打开命令界面输入pip install requests下载requests,requests库有7种主要使用方法,该项目主要使用Get方法,项目中利用requests库的get方法通过resp = requests.get(url, headers=headers)模拟浏览器发送一个向服务器请求资源的requests对象然后返回一个包含服务器资源的reponse响应对象。Requests库的使用形式是:requests.get(url,params=None,headers),url用来拟获取页面的url链接params是url中的额外参数,字典或字节流格式,可选,headers:控制访问的请求头参数。本项目中URL为天天基金网的"http://api.fund.eastmoney.com,headers加入了UA来表示浏览器的身份验证以及referer防盗链
(二)Python
Python 是一个有条理的和强大的面向对象的程序设计语言,跟 Java一样是面向对象设计程序。它被逐渐广泛应用于系统管理任务的处理和Web编程。Python非常适合面向对象的编程(OOP),因为它支持通过组合(composition)与继承(inheritance)的方式定义类(class)。因此本项目中利用python的面向对象特征基于python环境利用requests对天天基金网的数据进行爬取,并在数据的处理过程中将处理数据的代码以python特点封装成方便调用的函数
(三)Pandas
Pandas 是 Python 语言的一个扩展程序库,被广泛用于数据分析。该项目中在爬取数据和清洗数据以及分析制作图表时所需数据等等过程均使用pandas来完成。该项目中具体用到了pd.DataFrame,pd.concat,pd.set_option的方法进行数据的二维表转化,数据的拼接,数据的一致化,数据的去空,数据的去重等等。因为Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据。所以该项目通过pd.read_csv方法在数据处理和分析过程中多次提取爬取并保存到本地目录的CSV文件中的数据
(四)HTML+CSS
HTML称为超文本标记语言,是一种标识性的语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,该项目使用HTML语言起到完成整个大屏页面结构的建立, 在使用HTML完成了页面结构的设计后改项目使用CSS对页面各个部分内容进行了样式的设计,CSS是层叠样式表(Cascading Style Sheets)的简称。CSS让该项目网页更加丰富多彩,布局更加灵活自如。简单理解:CSS可以美化HTML,让HTML更漂亮,让页面布局更简单。该项目中CSS主要用于设置HTML页面中的标题“中国基金数据分析”文本内容(字体、大小、对齐方式等)、感兴趣的7个基金的累计净值折线图、对两种看好的基金的多日净值波动图、对三个基金的近一周,近一月,近三月,近六月,近1年,近2年增长率五角几何图、感兴趣的8个基金的累计净值饼图、感兴趣的7个基金的手续费柱形图这五个图表在大屏页面中图片的外形(宽高、边框样式、边距等)以及版面的布局和外观显示样式。

原文链接:http://www.jxszl.com/jsj/wlw/607586.html