美文网首页大数据 爬虫Python AI SqlPython程序员
python3+tesseract获取美股PEG图像上的数据

python3+tesseract获取美股PEG图像上的数据

作者: 干土 | 来源:发表于2018-06-10 19:39 被阅读103次

    1. 缘起

    投资了一点美股,总要参考个股资料的(虽然巴菲特老人家觉得分析技术资料没有用),发现一个一个查找,效率太低了。于是想起来用Python写个爬虫程序。话说,不偷懒的码农不是好的码农。发些一般股票app上没有PEG指标(参考股神彼得林奇相关资料)!但是Nasdaq官网上有。

    举个栗子:阿里巴巴PEG如下

    阿里巴巴PEG

    PEG的值竟然是图片形式的!所以任务就是下载一堆图片,然后识别图片上文字(OCR),马上着手行动。

    2. 读取文本

    自选股列表:


    读取文本代码:

    3. 下载PEG图片

    4. 裁剪图像,获取ROI区域

    用到OpenCV  Python版本

    效果如下:

    5. 分割数字

    直接用tesseract识别,出现 Empty page的错误,猜想tesseract不能处理噪声或者干扰图像,

    所以需要对图像进行预处理,而且要把数字图像分割出来。

    用到cv2.SimpleBlobDetector_create()

    效果如下:

    6. 用tesseract OCR识别数字

    用到下列命令

    tesseract filename -psm 7 stdout digits

    digits表示只识别数字

    7. 最终结果如下:

    启动代码

    python3 mystock.py 

    基本上满足需求,不算完美,0.99 识别为0.55,识别率不算太高,后续加入训练数据,应该可以提升识别率。一件看似简单的事情,做到极致还是不容易的。

    8. 完整代码见GitHub

    https://github.com/ErikZhou/python-ocr

    相关文章

      网友评论

        本文标题:python3+tesseract获取美股PEG图像上的数据

        本文链接:https://www.haomeiwen.com/subject/opzfeftx.html