美文网首页
PyHubWeekly | 第七期:5款Python小工具,最后

PyHubWeekly | 第七期:5款Python小工具,最后

作者: DevWeekly | 来源:发表于2020-03-03 09:50 被阅读0次

    微信关注公众号【平凡而诗意】,原创技术文章第一时间推送。

    前言

    PyHubWeekly每周定期更新,精选GitHub上优质的Python项目/小工具。

    我把PyHubWeekly托管到了Github,感兴趣的可以搜索Github项目PyHubWeekly,如果喜欢,麻烦给个Star支持一下吧~

    本期为大家推荐GitHub上5个优质的Python项目,它们分别是:

    • black
    • musicbox
    • nba_api
    • akshare
    • helium

    下面分别来介绍一下上述5个GitHub项目。

    black

    Start:14.9k

    black是一款强大的Python代码格式化工具,通过使用black,可以解放双手,再也不用手动调整代码格式了。

    black参照PEP格式规范,它能够格式化字符串、消除空行、修改代码长度等。另外,相对于大多数代码格式化工具,它具有更加快速更见简便的优点,它能够让你在代码格式化方面节省更多时间和精力。

    black的安装和使用也非常简单,下面来简单的介绍一下。

    安装

    pip install black
    

    使用

    black {source_file_or_directory}
    

    下面来举一个例子,来看一下它的效果。

    示例代码

    # test.py
    j = [1,
         2,
         3
    ]
    
    
    
    def hello():
        print("hello world")
    
    
    
    class One:
        pass
    

    在命令行下运行下面命令,

    black test.py
    

    然后,来看一下格式化后的效果,

    j = [1, 2, 3]
    
    
    def hello():
        print("hello world")
    
    
    class One:
        pass
    

    musicbox

    Start:8.1k

    musicbox是Python实现的网易云音乐命令行版本,支持320kbps的高品质音乐,当然,每日推荐、歌曲评论......这些功能也都支持,经常使用*nix系统系统的同学可以尝试一下。

    安装

    pip(3) install NetEase-MusicBox
    

    使用

    musicbox
    
    img

    目前已经通过测试支持的系统包括,macOS、Ubuntu、Kali、CentOS、openSUSE、Fedora、Arch,暂时不支持Windows。

    nba_api

    Start:604

    nba_api是一个访问NBA.com的API工具包。

    通过使用nba_api可以轻松获取球员球队比赛信息,如果你对想做数据分析,恰好又对NBA感兴趣,那么可以尝试一下这款Python小工具。

    安装

    pip install nba_api
    

    示例

    from nba_api.stats.static import players
    players.find_players_by_first_name('lebron')
    # 输出
    [{'id': 2544, 'full_name': 'LeBron James', 'first_name': 'LeBron', 'last_name': 'James', 'is_active': True}]
    

    akshare

    Start:251

    akshare是一个简单易用的金融数据接口库,实现了对股票、期货、期权、基金、外汇、债券、指数、数字货币等金融产品数据实时和历史数据、衍生数据采集、清洗、落地全流程的开源工具。

    能够满足对数据分析师或者对金融感兴趣同学的需求,能够提供丰富的业务数据供开发、研究使用。

    安装

    pip install akshare  --upgrade
    

    示例

    import akshare as ak
    ak.get_roll_yield_bar(type_method="date", var="RB", start_day="20180618", end_day="20180718", plot=True)
    

    输出结果,

                roll_yield near_by deferred
    2018-06-19    0.191289  RB1810   RB1901
    2018-06-20    0.192123  RB1810   RB1901
    2018-06-21    0.183304  RB1810   RB1901
    2018-06-22    0.190642  RB1810   RB1901
    2018-06-25    0.194838  RB1810   RB1901
    2018-06-26    0.204314  RB1810   RB1901
    2018-06-27    0.213667  RB1810   RB1901
    2018-06-28    0.211701  RB1810   RB1901
    2018-06-29    0.205892  RB1810   RB1901
    2018-07-02    0.224809  RB1810   RB1901
    2018-07-03    0.229198  RB1810   RB1901
    2018-07-04    0.222853  RB1810   RB1901
    2018-07-05    0.247187  RB1810   RB1901
    2018-07-06    0.261259  RB1810   RB1901
    2018-07-09    0.253283  RB1810   RB1901
    2018-07-10    0.225832  RB1810   RB1901
    2018-07-11    0.210659  RB1810   RB1901
    2018-07-12    0.212805  RB1810   RB1901
    2018-07-13    0.170282  RB1810   RB1901
    2018-07-16    0.218066  RB1810   RB1901
    2018-07-17    0.229768  RB1810   RB1901
    2018-07-18    0.225529  RB1810   RB1901
    

    helium

    Start:1k

    终于到本文的重头戏了,下面就来介绍一下Helium这款神器。

    Helium是一款基于 Selenium实现的网页自动化工具,它能够解放你的双手,让你实现日常各种网页的使用。

    废话不多说,来先看一个示例,应该就明白它到底是干什么用的。

    from helium import *
    start_chrome('google.com')
    write('helium selenium github')
    press(ENTER)
    click('mherrmann/helium')
    go_to('github.com/login')
    write('username', into='Username')
    write('password', into='Password')
    click('Sign in')
    kill_browser()
    

    看一下具体的演示,

    img

    看了演示应该大概明白helium是干什么用的了,它能够实现网页端的各种自动化操作,例如,

    • 启动浏览器
    • 与浏览器交互
    • 查找相关元素
    • 等待元素出现
    • ......

    其中,较为常用的就是启动浏览器浏览器交互,启动浏览器应该都明白,不需要多说,这里就来介绍一下与浏览器交互。

    helium能够输入内容、敲击键盘、点击按钮、跳转、关闭等各种我们日常访问网页时常用的操作。

    回想一下,我们平时浏览网页不也就是这些操作吗?只是,helium自动化实现了我们日常的操作。

    也许看到这里很多同学还是认为,这有什么用啊?

    我觉得这个可以发散一下思维,自己寻找一下应用场景,例如,

    • 批量下载音乐
    • 批量下载电影、电视剧
    • 下载图片
    • 快速填单
    • 便捷访问日常网址

    举个例子,假如你日常的工作就是在网站填写表格或者处理订单等重复性的工作,那么就可以写一个脚本,然后循环同样一个动作,自己就不用动手操作了。


    推荐阅读

    相关文章

      网友评论

          本文标题:PyHubWeekly | 第七期:5款Python小工具,最后

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