PyHubWeekly | 第七期:5款Python小工具,最后一款会给惊喜

简介: 我们日常工作和学习中,会经常做一些重复性的动作,这让人很痛苦,却又很无奈,本期介绍的第5款工具就可以彻底解放你在网页端的各种重复且枯燥的工作。下面,就来看一下本期的内容吧。

前言

PyHubWeekly每周定期更新,精选GitHub上优质的Python项目/小工具,本期为大家推荐GitHub上5个优质的Python项目,它们分别是:

blackmusicboxnba_apiaksharehelium

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

black

Start:14.9k

black[1]是一款强大的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[2]是Python实现的网易云音乐命令行版本,支持320kbps的高品质音乐,当然,每日推荐、歌曲评论......这些功能也都支持,经常使用*nix系统系统的同学可以尝试一下。

安装

pip(3) install NetEase-MusicBox

使用

musicbox


24.gif

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

nba_api

Start:604

nba_api[3]是一个访问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[4]是一个简单易用的金融数据接口库,实现了对股票、期货、期权、基金、外汇、债券、指数、数字货币等金融产品数据实时和历史数据、衍生数据采集、清洗、落地全流程的开源工具。

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

安装

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[5]是一款基于 Selenium[6]实现的网页自动化工具,它能够解放你的双手,让你实现日常各种网页的使用。

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

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()

看一下具体的演示,

25.gif

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

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

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

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

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

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

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

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

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

相关文章
|
2天前
|
程序员 开发者 Python
Python中的装饰器:优雅而强大的函数修饰工具
在Python编程中,装饰器是一种强大的工具,它可以简洁地实现函数的增强、扩展和重用。本文将深入探讨Python中装饰器的工作原理、常见应用场景以及如何自定义装饰器,帮助读者更好地理解和运用这一重要的编程概念。
|
3天前
|
SQL 物联网 关系型数据库
sqlmap工具的使用 (超详细附工具版)_python sqlmap
sqlmap工具的使用 (超详细附工具版)_python sqlmap
|
5天前
|
SQL 测试技术 网络安全
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
29 0
|
5天前
|
前端开发 文件存储 Python
python之xhtml2pdf: HTML转PDF工具示例详解
python之xhtml2pdf: HTML转PDF工具示例详解
13 0
|
5天前
|
Python
Python 中的异常处理机制是一种强大的错误处理工具
【5月更文挑战第8天】Python的异常处理机制借助try/except结构管理错误,提高程序健壮性。异常是中断正常流程的问题,可由多种原因引发。基本结构包括try块(执行可能出错的代码)和except块(处理异常)。通过多个except块可捕获不同类型的异常,finally块确保无论是否异常都执行的代码。此外,raise语句用于主动抛出异常,自定义异常通过继承Exception类实现。with语句配合上下文管理器简化资源管理并确保异常情况下资源正确释放。
21 2
|
5天前
|
缓存 开发者 Python
《Python中的装饰器:优雅而强大的代码增强工具》
在现代软件开发中,Python语言的灵活性和简洁性备受推崇。其中,装饰器作为一种强大的代码增强工具,为Python开发者提供了优雅的解决方案。本文将深入探讨装饰器的原理、用法以及实际应用场景,帮助读者更好地理解和运用这一技术。
|
5天前
|
域名解析 JSON API
Python小工具包
【5月更文挑战第2天】构建了一个Python小工具包,包含获取IP、域名解析、JSON格式化和时间戳转换的函数。通过`get_ip_address`和`resolve_domain`实现网络任务,`format_json`用于美化JSON数据,`timestamp_to_datetime`转换时间戳。这些函数可提高开发效率,易于整合到项目中,展现Python的简洁和灵活性。
38 1
Python小工具包
|
5天前
|
机器学习/深度学习 边缘计算 TensorFlow
【Python机器学习专栏】Python机器学习工具与库的未来展望
【4月更文挑战第30天】本文探讨了Python在机器学习中的关键角色,重点介绍了Scikit-learn、TensorFlow和PyTorch等流行库。随着技术进步,未来Python机器学习工具将聚焦自动化、智能化、可解释性和可信赖性,并促进跨领域创新,结合云端与边缘计算,为各领域应用带来更高效、可靠的解决方案。
|
5天前
|
数据可视化 API Python
Python绘图工具seaborn,教会你如何绘制更加精美的图形(二)
Python绘图工具seaborn,教会你如何绘制更加精美的图形(二)
|
5天前
|
数据可视化 Linux API
Python绘图工具seaborn,教会你如何绘制更加精美的图形(一)
Python绘图工具seaborn,教会你如何绘制更加精美的图形(一)