美文网首页PythonVBA笔记
Python笔记 财务小白的 day 1-2 安装基础及应用

Python笔记 财务小白的 day 1-2 安装基础及应用

作者: 天天向上的orange | 来源:发表于2019-07-25 22:35 被阅读0次

    【本文的我,是一个文科财务工作者。在单位信息化全靠人做的年代,确实工作压力大也忙不过来。9102年的我,深感不学习点新知识迟早要被淘汰。所以今天开始记录自己的python小白笔记,各位见笑。】

    开始前,给自己立个flag,主要学习内容两个:
    (1)提升办公效率
    (2)pandas库学习
    ————————————————我是分隔符——————————————————————

    day1 基础软件安装

    day2 拿来主义:配置微信发票机器人实例

    day1 基础软件安装

    安装anaconda\pycharm\cmder
    软件介绍:Pycharm是集成开发环境(操作平台),Anaconda是集成环境管理器(库包),cmder 好用的程序操作命令

    参考文档:
    Python入门:Anaconda和Pycharm的安装和配置
    [https://www.cnblogs.com/yuxuefeng/articles/9235431.html]
    cmder配置指南
    [https://www.jianshu.com/p/979db1a96f6d]

    day2 配置微信发票机器人实例

    特别感谢原作者:李达西,原来的ocr模块使用的票小秘功能,跟达西大牛沟通后帮我免费改成百度ai,良心好人啊!

    (0)pip install 安装对应库包(wxpy)

    (1)下载github上编译好的发票机器人实例
    [https://github.com/dashleee/WechatInvoiceParser]
    (2)配置百度AI,获取AK\SK
    这块设置可以参考:百度API使用入门教程:[http://ai.baidu.com/forum/topic/show/867951]

    ps:里面有坑,用的库urllib2 在python3里面已经取消了。获取access_token 看我下面代码。

    (3)获取access_token

    import urllib.request
    import json
    ak='输入AK'
    sk='输入sk'
    # client_id 为官网获取的AK, client_secret 为官网获取的SK
    host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=%s&client_secret=%s'%(ak,sk)
    request = urllib.request.Request(host)
    request.add_header('Content-Type', 'application/json; charset=UTF-8')
    response = urllib.request.urlopen(request)
    content = response.read()
    json_all=json.loads(content)
    access_token=json_all['access_token']
    print(access_token)
    

    (4)部分代码优化

    a.wechat模块-wxpy库:启动缓存功能,避免短时间经常扫码

    self.bot = Bot()
     修改为
    self.bot = Bot(console_qr=True, cache_path=True) 
    

    b.通过利用Supervisor监控保持机器人长时间登陆

    安装
    supervisor是一个python写成的程序,因此可以简单地通过pip来进行安装:
    
    pip install supervisor
    调整 wxpy设置
    如果想使用supervisor的重启功能,我们必须开启wxpy的缓存功能以储存登录状态,具体操作在登录时增加cache_path参数:
    
    bot = Bot(cache_path=True)
    你也可以自由选择将缓存存在什么文件中,以免多个机器人冲突
    
    配置
    官方提供了一个默认的配置文件,你可以使用这条命令输出到你放置机器人的文件夹中:
    
    echo_supervisord_conf > supervisord.conf
    在这个supervisord.conf后面,我们再追加对微信机器人程序的控制
    
    [program:bot]  
    command=python ./wxbot.py              ;执行机器人文件,请修改文件名 
    process_name=%(program_name)s  
    autostart=true                   ; 程序是否随supervisor启动而启动  
    autorestart=true                 ;程序停止时,是否自动重启  
    startsecs=10  
    启动和控制
    从命令启动supervisor只需要一句:
    
    supervisord -c supervisord.conf
    -c用以指定配置文件,也就是我们刚刚编写的文件。
    
    使用supervisor还可以方便的开始、重启和停止程序:
    
    supervisorctl start bot # 开始程序,bot 是刚刚填写的程序名
    supervisorctl restart bot # 重启程序
    supervisorctl stop bot # 停止程序
    使用supervisor查看自己的程序运行状态
    
    supervisorctl status # 查看状态
    因此,只要将wxpy的缓存打开,并且使用supervisor进行自动重启,我们就可以获得一个长时间保持登录的自动回复机器人啦!
    

    (5)部分代码屏蔽
    pushover 模块因为需要收费,秉着不给钱的态度(穷,没经费支持)这块代码我全部注释掉了。

    (6)后续可优化点
    增加发票类别识别,自动识别该发票类别并回复是否属于可用发票。

    (7)异常说明
    a.wxpy 扫码登录微信报错 KeyError: 'pass_ticket'
    wxpy基于wxpy库,需要调用网页版本的微信。如果是新号,无法登陆网页版本微信号。所以会调用失败。无解决方案。

    相关文章

      网友评论

        本文标题:Python笔记 财务小白的 day 1-2 安装基础及应用

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