PyHubWeekly每周定期更新,精选GitHub上优质的Python项目/小工具。
如果喜欢,麻烦给个Star支持一下吧。此外,欢迎大家通过提交issue来投稿和推荐自己的项目~
本期为大家推荐GitHub上5个优质的Python项目,它们分别是:
- black
- musicbox
- nba_api
- akshare
- helium
下面分别来介绍一下上述5个GitHub项目。
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
Start:8.1k
musicbox是Python实现的网易云音乐命令行版本,支持320kbps的高品质音乐,当然,每日推荐、歌曲评论......这些功能也都支持,经常使用*nix系统系统的同学可以尝试一下。
安装
pip(3) install NetEase-MusicBox
使用
musicbox
目前已经通过测试支持的系统包括,macOS、Ubuntu、Kali、CentOS、openSUSE、Fedora、Arch,暂时不支持Windows。
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}]
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
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()
看一下具体的演示,
看了演示应该大概明白helium是干什么用的了,它能够实现网页端的各种自动化操作,例如,
- 启动浏览器
- 与浏览器交互
- 查找相关元素
- 等待元素出现
- ......
其中,较为常用的就是启动浏览器和浏览器交互,启动浏览器应该都明白,不需要多说,这里就来介绍一下与浏览器交互。
helium能够输入内容、敲击键盘、点击按钮、跳转、关闭等各种我们日常访问网页时常用的操作。
回想一下,我们平时浏览网页不也就是这些操作吗?只是,helium自动化实现了我们日常的操作。
也许看到这里很多同学还是认为,这有什么用啊?
我觉得这个可以发散一下思维,自己寻找一下应用场景,例如,
- 批量下载音乐
- 批量下载电影、电视剧
- 下载图片
- 快速填单
- 便捷访问日常网址
举个例子,假如你日常的工作就是在网站填写表格或者处理订单等重复性的工作,那么就可以写一个脚本,然后循环同样一个动作,自己就不用动手操作了。