项目截图
一、项目简介
本项目是一个基于 Django 框架的股票分红数据爬虫和展示系统。它可以从东方财富网站爬取股票分红数据,并将数据存储到 Django 数据库中,同时提供数据查询、导出和图表展示功能。该系统为用户提供了一个方便的平台,用于获取和分析股票分红信息,无论是个人投资者还是金融研究人员,都可以利用该系统快速获取所需的分红数据,并进行深入的数据分析。
二、功能特点
2.1 数据爬取
系统通过编写的爬虫程序,能够从东方财富网站上爬取股票分红数据。爬虫程序采用了分页爬取的方式,确保能够获取到完整的数据。同时,为了避免被网站封禁,还设置了随机的 User - Agent 和延迟时间,模拟真实用户的访问行为。
2.2 数据存储
爬取到的数据会被存储到 Django 数据库中。在本项目中,使用的是 SQL Server 数据库(可在 dividend_spider/settings.py
中配置),通过 Django 的 ORM(对象关系映射)机制,方便地进行数据的增删改查操作。
2.3 数据查询
用户可以在系统中根据股票代码、公司名称、公告日期等条件进行数据查询。系统提供了一个简单易用的查询表单,用户可以根据自己的需求输入相应的查询条件,系统会快速返回符合条件的分红数据。
2.4 数据导出
系统支持将查询到的股票分红数据导出为 CSV 文件。用户只需访问相应的链接,即可将数据以 CSV 格式保存到本地,方便后续的数据分析和处理。
2.5 图表展示
系统还提供了图表展示功能,用户可以查看指定股票的分红图表。通过图表,用户可以直观地了解股票的分红趋势、股息率变化等信息,为投资决策提供参考。
三、环境要求
3.1 编程语言
- Python 3.7+:Python 是一种高级编程语言,具有简洁易读、功能强大的特点,适合用于开发各种类型的应用程序。
3.2 主要框架和库
- Django 2.2+:Django 是一个功能强大的 Python Web 框架,提供了丰富的功能和工具,如 ORM、路由系统、模板引擎等,能够快速开发出高质量的 Web 应用程序。
- pandas:pandas 是一个用于数据处理和分析的 Python 库,提供了高效的数据结构和数据操作方法,方便对爬取到的股票分红数据进行处理和分析。
- matplotlib:matplotlib 是一个用于数据可视化的 Python 库,能够绘制各种类型的图表,如折线图、柱状图等,方便用户直观地展示和分析数据。
- django_select2:django_select2 是一个 Django 插件,用于提供美观、易用的下拉选择框,提升用户体验。
- django - crispy - forms:django - crispy - forms 是一个 Django 插件,用于美化表单,使表单的布局更加美观和易用。
- django - import - export:django - import - export 是一个 Django 插件,用于实现数据的导入和导出功能,方便用户管理数据。
四、安装与配置
4.1 创建虚拟环境并激活
为了避免不同项目之间的依赖冲突,建议使用虚拟环境。执行以下命令创建虚拟环境:
python -m venv venv
激活虚拟环境:
- Linux/Mac:
source venv/bin/activate
- Windows:
venv\Scripts\activate
4.2 安装依赖
在激活虚拟环境后,执行以下命令安装项目所需的依赖:
pip install -r requirements.txt
4.3 配置数据库
打开 dividend_spider/settings.py
文件,配置数据库连接信息。例如,如果使用 SQL Server 数据库,可以按照以下示例进行配置:
DATABASES = {
'default': {
'ENGINE': 'mssql',
'NAME': 'your_database_name',
'HOST': 'your_host',
'USER': 'your_user',
'PASSWORD': 'your_password',
'OPTIONS': {
},
}
}
4.5 运行数据库迁移
执行以下命令运行数据库迁移,创建相应的数据库表:
python manage.py migrate
4.6 创建管理员账户
执行以下命令创建管理员账户,用于登录 Django 后台管理界面:
python manage.py createsuperuser
按照提示输入用户名、邮箱和密码。
4.7 运行开发服务器
执行以下命令启动 Django 开发服务器:
python manage.py runserver
默认情况下,服务器将在 http://localhost:8000
上运行。
五、使用说明
5.1 登录后台管理界面
打开浏览器,访问 http://localhost:8000/admin
,使用之前创建的管理员账户登录。在后台管理界面中,你可以查看、添加、修改和删除股票分红数据。
5.2 查看股票分红数据列表
访问 http://localhost:8000/dividends/eastmoney/
,可以查看股票分红数据列表。你可以在页面上的查询表单中输入查询条件,筛选出符合条件的分红数据。
5.3 导出股票分红数据到 CSV 文件
访问 http://localhost:8000/dividends/to_csv/
,系统将自动将所有股票分红数据导出为 CSV 文件,并下载到本地。
5.4 运行爬虫程序
访问 http://localhost:8000/dividends/run_crawler/
,在页面上输入起始时间、截止时间,并选择是否仅爬取年报,然后点击“运行”按钮,系统将开始运行爬虫程序,爬取指定时间段内的股票分红数据。
5.5 查看指定股票的分红图表
访问 http://localhost:8000/dividends/charts/<stock_code>/
,将 <stock_code>
替换为你要查看的股票代码,即可查看该股票的分红图表。
六、注意事项
6.1 法律法规遵守
请确保在使用本项目时遵守相关法律法规,不得进行非法的数据爬取和使用行为。
6.2 使用目的限制
本项目仅供学习和研究使用,不应用于商业目的。在使用项目时,请确保你的行为符合相关规定。
6.3 数据准确性
由于股票市场数据的复杂性和变化性,系统获取的数据可能存在一定的误差。在进行投资决策时,请结合其他信息进行综合分析。
七、许可证
本项目采用 MIT 许可证。有关详细信息,请查看 LICENSE 文件。
八、总结
本股票分红数据爬虫和展示系统为用户提供了一个便捷的方式来获取和分析股票分红数据。通过简单的安装和配置步骤,用户可以快速搭建起自己的系统,并使用系统提供的各种功能进行数据查询、导出和图表展示。在使用过程中,用户需要注意遵守相关法律法规,确保数据的合法使用。希望本系统能够为用户的投资研究提供一定的帮助。
源码/演示视频获取方式
需要成品,加我的时候,记得把本页面标题截图发下我,方便查找相应的源代码和演示视频。
文章最下方名片联系我即可~