Table of Contents 前言
晨星网,国际权威评级机构 Morningstar 的中国官方网站,所以它的基金评级是很有参考性的。
数据爬取 晨星列表数据
爬取晨星网筛选列表,包括基金代码,基金专属代码,基金分类,三年评级,五年评级这些维度等,有了这些基本数据,为了爬取基金详情页,基金筛选等铺好数据基础。
列表爬取数据截图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-djnPkEFP-45)()]
晨星基金详情页数据–不变数据
爬取基金详情页的数据, 根据晨星列表数据 数据,遍历爬取单支基金的详情页数据(包括名称,代码,分类,成立时间晨星基金数据分析人,基金公司)等维度,后续还有根据这些数据爬取基金的持仓信息,为后面筛选股票做好进一步铺垫
晨星基金详情页数据–季度变动数据
爬取基金详情页的数据, 根据第二部分晨星基础数据 数据,过滤掉货币,纯债基金,爬取单支基金的详情页数据(包括总资产,投资风格,各种风险信息,评级,股票,债券持仓比例等)等维度
晨星基金详情页数据–十大持仓股票信息
爬取基金详情页的数据, 根据第二部分晨星基础数据 数据,过滤掉没有持有股票的基金,爬取单支基金的十大持仓股票信息(包括每只股票的代码,名称,占比)等维度
晨星基金经理
爬取基金详情页的数据,据此爬取基金经理数据
技术点 爬虫流程 selenium 模拟登录: 利用BeautifulSoup 解析 html晨星基金数据分析人,提取当前页的基金列表信息,存入到 mysql 中,或者追加到 csv 中 (目前仅 acquire_fund_snapshot.py 支持导出 csv)selenium 模拟切换分页,重复第二,第三步所有的页数据爬取完,退出浏览器 本地运行
本地前置条件: 安装好 chromedriver 驱动, 安装 tesseract 并将 tesseract 加到环境变量下(识别二维码需要,如果是用 cookies 方式则不需要),如果是需要连接数据库的话,还要配置好表结构
从环境参数模板(.env.example)中复制一份文件(.env),修改本地环境变量
cp .env.example .env
根据自己情况改环境变量值,例如晨星用户名,密码,执行特定的爬虫脚本
文件目录介绍
.
├── .env #本地环境配置参数
├── .env.example #环境配置参数模板实例
├── .gitignore
├── README.md
├── requirements.txt
└── src
├── acquire_fund_base.py # 爬取基金基础数据-- 一些不变动的数据,例如成立时间
├── acquire_fund_quarter.py # 爬取基金季度变动 -- 例如持仓数据
├── acquire_fund_snapshot.py # 基金列表快照数据 —— 列表数据
├── fund_info_supplement.py # 执行补充维度清算,总资产信息
├── fund_statistic.py # 基金重仓股分析
├── fund_strategy.py # 高性价比基金筛选
├── assets # 一些静态资源,例如星级图片
│ └── star
│ ├── star0.gif
│ ├── star1.gif
│ ├── star2.gif
│ ├── star3.gif
│ ├── star4.gif
│ ├── star5.gif
│ └── tmp.gif
├── fund_statistic.py # 统计数据
├── db
│ └── connect.py # 连接数据库
├── fund_info
│ ├── api.py # api 基金信息爬取,主要是补充crawler不到一些信息
│ ├── crawler.py # 基金页面爬取
│ ├── statistic.py # 基金统计
│ ├── csv.py # 基金存为csv
│ └── supplement.py # 补充或者更新基金清算,总资产维度信息
├── lib
│ └── mysnowflake.py # 雪花id生成
└── utils.py # 一些工具函数,比如登录,设置cookies等
├── __init_
来源【首席数据官】,更多内容/合作请关注「辉声辉语」公众号,送10G营销资料!
版权声明:本文内容来源互联网整理,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 jkhui22@126.com举报,一经查实,本站将立刻删除。