最新Python与财务【上】--数据采集篇_python获取财物数据的接口,面试题解题思路

(1)Python所有方向的学习路线(新版)

这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

最近我才对这些路线做了一下新的更新,知识体系更全面了。

在这里插入图片描述

(2)Python学习视频

包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。

在这里插入图片描述

(3)100多个练手项目

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。

在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

stock_df=stock_df.ix[:,['name','industry','area']]
# ix[行条件,列条件],这里表示截取所有行,name,industry,area字段,返回一个DATAFRAME
stock_df

如果你对一些新股不敏感,可以把数据保存为csv/xls文件方便多次使用

注意:将股票列表从文件中读出来后,股票代码前的‘0’会被自动处理掉,在做循环下载数据时要将‘0’加上去。

自此股票列表就拿到了。

二、寻找合适财务数据接口

由于Python能够直接处理的文件格式为xml/csv/json/xls文件,因此我们尽量查找能够提供此类格式的文本的数据接口。

另,我比较喜欢csv格式的文本,这种文本内容紧凑,可以说一个无用字节都没有。但是取得的数据可能并非自己所需的格式,所以需要将数据转换为自己需要的内容(为了说明数据清洗及转换过程,我这里专门选择了一个xls格式的财务接口)

2.1. 查找数据接口

很多财经网站都有提供下载财务报表的接口,由于我们已经拿到了所有股票列表,将股票代码依次传入下载接口,就可以获得所有股票财务数据了,我们先来查找可用的财务数据接口。

  1. 打开任意财经网站股票专栏
  2. 输入任意股票代码,比如600660,进入股票详情页
  3. 查找诸如财务报表财务数据财务分析之类的字样,进入细分栏目。
  4. 在这个栏目应该能够找到,下载或者导出之类的功能。现在重点来了,右键点击连接,选择复制链接地址

如果,下载数据 处是一个按钮而不是链接,可以使用Chrome先把数据下载下来,然后按Ctrl+J查看下载历史,就能看到下载地址了,如果还是不行,可能就要使用抓包工具之类的方式了。

  1. 分析链接地址,查看传入股票代码的位置,比如,链接地址是: http://www.stock.com/report.jsp?id=600660那么这个600660就是传入的股票代码了。

2.2. 通过程序下载数据

拿到接口地址后,我们可以通过程序下载数据了。

import requests as ro
stock_code = '600660'
bs_url='http://soft-f9.eastmoney.com/soft/gp15.php?code={co}01&exp=1'.format(co=stock_code)
ct = ro.get(bs_url).text
ct

看到一堆乱码(其实不是乱码,是xml,稍后就说说转化为csv文本)

三、数据的清洗及保存

  1. 数据清洗

获取的数据结构太过复杂,我们还需要将其进行清洗及转换,之前我在《几行代码获取EXCELL有效数据》这篇文章演示了数据的清洗,请参考原文,这里不再重复说明。

  1. 数据保存

财务报表是有效期比较长的数据,为了避免每次使用时反复下载,可以将数据存储到本地。存储方式一般有文件方式或数据库方式。由于数据量不大,直接存为文件csv就可以了。不过为了方便取用,文件命名方式可以稍微注意下,比如命名为报表类型-股票代码.csv,这样以便于读取。

四、编写Python程序下载数据

#!/usr/bin/py
# filename=RPDownloader.py

from modules.Utils import e2csv
from modules.Fi import tcode
import pandas as Pd
import requests as ro

# 下载资产负债表
def downloadBSRP(stocklist):
    num = 0
    for c in stocklist:
        bs_url='http://soft-f9.eastmoney.com/soft/gp15.php?code={co}01&exp=1'.format(co=tcode(c))
        ct = ro.get(bs_url).text
        to_file='bs{co}.csv'.format(co=tcode(c))
        open(to_file,'w').write(e2csv(ct))
        num = num + 1
        
    return num

函数返回值为成功下载报表数目(这里没有做容错处理,如果下载量比较大,需要做容错处理,另外,还须解决程序异常退出后,下次再次进入后避免反复下载已经下载的数据,另外,为了避免IP地址被封,须在下载一个后加上一个延迟,这些内容就留给大家下面去研究了),测试一下代码:

显示成功下载了两个股票资产负债表。

根据以上内容,利润表和现金流量表也就可以下载了。

写到这里,财务数据采集篇就算结束了。下一篇是说说如何使用这些数据进行财务分析。

总结

说了这么多,旨在告诉大家Python这个类目无论是功能性、还是上手程度都碾压其他语言,作为最适合零基础入门的编程语言,想要学习自然不能纸上谈兵,还得沉下心来深入的研究和学习。

只告诉大家学什么但是不给予方向的行为无异于耍流氓,这里也是分享我多年收藏的技术干货,可以共享给喜欢我文章的朋友们,如果你肯花时间沉下心去学习,它们一定能帮到你,干货内容包括:
在这里插入图片描述

上面的所有资料我全部打包好了并且上传至CSDN官方,需要的点击👇获取!

👉[[CSDN大礼包:《python安装包&全套学习资料》免费分享]]安全链接,放心点击

最后

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 51
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值