V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
iwukong
V2EX  ›  Python

怎么用 Python 抓取上市公司的财务数据呢

  •  
  •   iwukong · 2020-07-29 23:11:15 +08:00 · 6249 次点击
    这是一个创建于 1612 天前的主题,其中的信息可能已经有所发展或是发生改变。
    怎么用 python 抓取上市公司的财务数据呢

    我想抓取港股 美股的

    港股是 PDF 美国是 HTM
    25 条回复    2020-07-30 16:37:10 +08:00
    locoz
        1
    locoz  
       2020-07-29 23:47:07 +08:00 via Android
    首先,你自己怎么看到这些数据?
    Oilybear
        2
    Oilybear  
       2020-07-30 00:03:51 +08:00
    仅个人观点,HTM 不太清楚,PDF 全自动化多少会有些问题。目前应用方数据更多是直接上一下金融数据提供商( wind 万德)购买数据接口
    black11black
        3
    black11black  
       2020-07-30 00:21:21 +08:00
    理论上如果有网站展示这些数据,为了向普遍用户展示,是不太做严格的权限管理的,所以简单爬一下就什么都有
    TypeError
        4
    TypeError  
       2020-07-30 00:24:21 +08:00
    不嫌麻烦直接去 SEC 下载财报文件、招股书啥的,然后自己解析

    嫌麻烦去美股券商网站爬虫看看
    reayyu
        5
    reayyu  
       2020-07-30 00:34:09 +08:00 via iPhone   ❤️ 1
    Wind 或者 bloomberg 吧
    PbCopy111
        6
    PbCopy111  
       2020-07-30 01:07:13 +08:00
    抓披露易上面的么?
    iwukong
        7
    iwukong  
    OP
       2020-07-30 07:20:36 +08:00
    @PbCopy111 是的 或者美国证券协会 或者 国内沪深的数据
    iwukong
        8
    iwukong  
    OP
       2020-07-30 07:22:22 +08:00
    @black11black 我还在学习 python 基础 不太懂怎么爬 有这方面教程吗
    iwukong
        9
    iwukong  
    OP
       2020-07-30 07:24:33 +08:00
    @Oilybear 那成本可高了 我用这些数据做投资分析 为我投资做辅助用
    murmur
        10
    murmur  
       2020-07-30 08:25:07 +08:00
    @iwukong 出钱请人抓就行,你都投资了,这点技术就不值得投资么
    iwukong
        11
    iwukong  
    OP
       2020-07-30 08:29:11 +08:00
    @murmur 在学东西这个过程 朋友
    hakono
        12
    hakono  
       2020-07-30 08:43:45 +08:00 via Android
    楼上一些人是不知道上市公司的财务报表,会直接在官网公布的吧(这是上市公司的义务
    财报这东西我跟楼主你说,没办法的,是不可能自动抓取的。不同公司雇佣的财务会计公司不同,财报的格式不同,各种项目名称也会不同,用的统计方式也会不同。一些关键数据甚至是夹杂在财报的一些文本段落里,或者一个数据多个版本,或者给你个数据然后下面一行小字注解下,要做个换算才是真正的数据。
    因为财报会影响股价,所以上市公司都会想法设法在财报里做手脚,用各种不同的计算方法让财报表面数据好看,而这些只能靠有经验的人才能发现,是不可能自动化的

    毕竟你要知道这种自动财报分析软件,真能做早就有人做了。如果你做出来了,你都不用投资了,光成立个公司卖服务就能财务自由了
    takemeaway
        13
    takemeaway  
       2020-07-30 09:59:35 +08:00
    这应该很简单吧,html 的还不容易? PDF 的有插件可以转 HTML,也可以直接识别。
    zwj2885
        14
    zwj2885  
       2020-07-30 10:07:38 +08:00
    @hakono 是的,哥们是说到点上的人。之前就考虑过用 AI 自然语言处理来读懂财报,github 搜了个遍,也没遇到好的开源项目。
    L2AKnG8GXx60bc6P
        15
    L2AKnG8GXx60bc6P  
       2020-07-30 10:36:52 +08:00 via iPhone
    这个坑我研究过,港股的 pdf 就不要想了,无解;美股的 sec 有结构化的,爬就行了;我 A 的 pdf 是有解决方案的,我之前写过一个 naivepdf 的 python 库,后来发现坑太多,就搁置了在 github 上。
    L2AKnG8GXx60bc6P
        16
    L2AKnG8GXx60bc6P  
       2020-07-30 10:39:01 +08:00 via iPhone
    @hakono 其实 90%的都差不多,排名前十的会计师事务所基本上把 A 股的大部分公司瓜分了,港股就是个奇葩。
    lewis89
        17
    lewis89  
       2020-07-30 11:00:25 +08:00   ❤️ 1
    财务美化 变相降低折旧率 手法太多 你抓了也没毛线用..
    sudoy
        18
    sudoy  
       2020-07-30 11:19:47 +08:00
    用 python 抓取数据本身不难,有一大堆库和工具可以用,简单的就用[scrapy]( https://scrapy.org/) 好上手。难度在于:(1) 就像 #12 楼说的报表本身的解读比较难; (2) python 解析这些 PDF 的时候难免识别出错。特别是那些直接把图片做成 pdf 的,对于这种很多 python 库都用调用[谷歌 OCR 引擎]( https://github.com/tesseract-ocr/tesseract), 我试过,这种对于像素不清晰的很容易识别错。( 3 )就算你算出合理股价,也不一定有帮助。我订阅雅虎财经付费版,他们都帮我计算出合理股价( Fair Value),但是股票即便高于合理价格一样猛涨,比如特斯拉,而很多低于合理价格的股票,却狂跌,比如航空公司。当然了,计算出合理股价,毕竟还是有帮助的,至少能知道你买入的点是高还是低,心里有个数。

    ![]( )
    Sunben
        19
    Sunben  
       2020-07-30 11:21:30 +08:00
    import requests
    from bs4 import BeautifulSoup
    import pandas as pd
    ytmsdy
        20
    ytmsdy  
       2020-07-30 11:43:39 +08:00
    hakono
        21
    hakono  
       2020-07-30 11:44:42 +08:00
    @relic 只是爬虫爬一下的话的确简单,但是分析的话你自己都做过,有多少坑你也应该是知道的。
    你说 90%差不多,但是实际上是在这 90%差不多的公司里,会影响到整个财报评价的关键数据内容都会有所不同(上市公司为了财报好看,明显的数据都是会搞的比较好看。而真正能代表真实财务数据的部分,可能就会在哪个旮旯角落用些小字注释下,或者用一般人都想不到的说法给说出来,目的就是不让你注意到,这种只有有看财报经验的人才可能注意到)
    以及,也欢迎来日股财报玩玩,能让你怀疑人生
    财报这种东西真的想了半天,想做出个精确提取的话得要上 AI
    zzzmh
        22
    zzzmh  
       2020-07-30 12:02:51 +08:00
    如果花钱走捷径的话,可以去找找别人爬然后出来卖 api 的项目。我见过一两个但觉得贵又怕不追就没深入了解。
    lewis89
        23
    lewis89  
       2020-07-30 13:32:57 +08:00
    @hakono 只能说套路太多,实际上真正要了解一家公司 ,财报很难反应出来的,例如上市公司持有的非上市公司股票,但是非上市公司不公布财报,你怎么界定上市公司所持有股份的价值,还有折旧率润色 把货卖给经销商 虚报营业额跟利润,套路简直太多..
    iwukong
        24
    iwukong  
    OP
       2020-07-30 13:33:38 +08:00
    @hakono 我们先把现在数据抓取下来 再说财务美化问题 这个就是个人来处理了
    zxcfka2004
        25
    zxcfka2004  
       2020-07-30 16:37:10 +08:00
    抓股票 app 的接口,或者东财网站
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   931 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 21:27 · PVG 05:27 · LAX 13:27 · JFK 16:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.