常用的python库

常用的python库

简单记录一下常用的Python库,文档不断更新中。

我自己有印象的工具和库

  • beaufifulSoup 把HTML字符串转换成DOM节点的工具,主要用于爬虫
  • Turtle 简单绘图
  • django 复杂完整的web框架(django-webpack_loader等一系列工具)
  • flask 轻量级web框架
  • pandas 数据统计分析
  • python-mysql 数据库连接工具(mysqlclient)
  • Qrcode 二维码制作工具,Python 写的生成动态、彩色、各式各样的二维码,详细的中文文档
  • fabric 命令行脚本工具,用于更新 transifix
  • transifex-client 翻译工具

构建工具

  • virtual-env 虚拟环境
  • pip 包管理工具

其他常用工具

1.gopup:采集各种权威公开数据的 Python 库。示例代码:

# 安装:pip isntall gopup 

import gopup as gp
covid_baidu_df = gp.covid_baidu(indicator="热搜谣言粉碎")
print(covid_baidu_df)

2.streamlit:能够快速地把数据制作成可视化、交互页面的 Python 框架。分分钟让你的数据变成图表,并且该项目提供免费的共享服务平台帮你的项目上线,方便数据的共享和讨论。

3.playwright-python:微软开源的浏览器自动化工具,可以用 Python 语言操作浏览器啦。支持 Linux、macOS、Windows 系统下的 Chromium、Firefox 和 WebKit 浏览器。

python -m playwright codegen wikipedia.org

4.wagtail:目前最强大的开源 Django CMS(内容管理系统)之一。首先该项目更新、迭代活跃,其次项目首页提到的功能都是免费的,没有付费解锁的骚操作。wagtail 专注于内容管理,不束缚前端实现。有趣的 StreamField 技术让你的内容变得灵活且不失结构,竟然还支持 A/B 测试,最后 Google、NASA 他们都在用这个项目。

5.practical-python:一个非常好的python学习资源,md格式,附赠联系。

6.learn-python3:一份 Python3 的教程,请查收。该教程采用 Jupyter notebooks 形式,便于运行和阅读。并且还包含了练习题,对新手友好。缺点的话就是英文的教程,但是我都能看懂你肯定也可以。

7.fastapi:基于 Python 3.6+ 的高性能 Web 框架。“人如其名”用 FastAPI 写接口那叫一个快、调试方便,Python 在进步而它基于这些进步,让 Web 开发变得更快、更强。示例代码:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def read_root():
    return {"Hello": "World"}

@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str = None):
    return {"item_id": item_id, "q": q}

# 启动命令:uvicorn main:app --reload

8.gpustat:一个方便查询 GPU 状态的命令行程序。

9.akshare:一款基于 Python 的开源金融数据接口库。提供了股票、期货、期权、基金、数字货币等金融产品的基本数据、实时和历史行情数据、衍生数据,包含数据采集、数据清洗、到数据落地的一套开源工具。满足了金融数据科学家、数据科学爱好者在金融数据获取方面的需求。示例代码:

import akshare as ak
bond_df = ak.bond_spot_deal()
print(bond_df)

   债券简称 成交净价() 最新收益率(%)  涨跌(BP) 加权收益率(%) 交易量(亿)
0          19国开15   98.97   3.5750    1.00   3.5826   None
1        19附息国债03   99.82   2.7714    0.14   2.7772   None
2        19附息国债11   99.87   2.8000    0.25   2.7963   None
3        19附息国债04  100.82   2.9832   -1.54   2.9747   None
4        15附息国债05  102.95   3.0359   -1.41   3.0359   None

10.KeymouseGo:Python 实现的精简绿色版按键精灵。记录用户的鼠标、键盘操作,自动执行之前记录的操作,可设定执行的次数。在进行某些简单、单调重复的操作时,使用该软件可以十分省事儿。只需要录制一遍,剩下的交给 KeymouseGo 来做就可以了。

11.GeneralNewsExtractor:基于《基于文本及符号密度的网页正文提取方法》论文用 Python 实现的正文抽取器,可以用来提取 HTML 中正文的内容、作者、标题。这个可以结合爬虫使用。首先用爬虫获取网页全部内容,然后使用收取器获取正文内容,过滤噪音。

12.Jtyoui:帮助学习 Python 的代码集合包。包含 20 多个简单易用的常用方法和数学函数,大多数方法在 100 行左右,而且每一个类的使用都有对应的测试用例。非常方便初学者学习,也可以帮助有经验的开发者快速实现一些功能。示例代码:

# 这是一个阳历转化农历的程序
from jtyoui.plunar import SC
if __name__ == '__main__':
    lun = SC(year=2018, month=1, day=2) #阳历转农历
    print(lun.y)  # 农历的年,中文字符 二零一九
    print(lun.year)  # 农历的年,阿拉伯数字 2019
    ...
    print(lun)  # 二零一九年 七月 十四 星期四 无

13.one-python-craftsman:如何编写优秀的 Python 代码?优秀的代码就是由无数优秀的细节组成的。这个项目就是详细讲解 Python 那些细节,比如何时使用异常、怎么给变量起名、怎么编写条件分支等等,看似简单的可能也是最难的地方。本项目作者是资深的 Python 开发,内容贴近实际工作和业务场景,相信认真学习完本项目,你的编码能力一定会得到很大提升,帮你在 Python 的开发道路上走的更高、更远。

14.you-get:一个 Python 写的视频下载工具,下载工具千万个但我仅仅推荐了这个工具。是因为正常情况下载不了视频的网站,用它你就可以方便地下载下来。剩下的要自己去看介绍,不能再多说了

(env)~ you-get 'https://v.ifeng.com/c/7msWmwppMPC'
Site:       ifeng.com
Title:      完整版第五期:陈晓卿 中国有俩行当门槛极低——美食圈和摄影圈
Type:       MPEG-4 video (video/mp4)
Size:       0.01 MiB (8578 Bytes)

Downloading 完整版第五期:陈晓卿 中国有俩行当门槛极低——美食圈和摄影圈.mp4
 100% (  0.0/  0.0MB) ├████████████████████┤[1/1]   71 kB/s

15.ds-cheatsheets:Python 在数据科学方面使用库的速查表,包含了 Pandas、Jupyter、SQL、Dask 等。虽然都是些基本的 API 调用,但是用来备忘和速查足以

16.awesome-python-login-model:该项目收集了各大网站登陆方式和部分网站的爬虫程序。登陆方式实现包含 selenium 登录、通过抓包直接模拟登录等。有助于新手研究、编写爬虫。

17.click:Python 的第三方库,用于快速创建命令行。支持装饰器方式调用、多种参数类型、自动生成帮助信息等。示例代码如下:

import click

@click.command()
@click.option("--count", default=1, help="Number of greetings.")
@click.option("--name", prompt="Your name",
              help="The person to greet.")
def hello(count, name):
    """Simple program that greets NAME for a total of COUNT times."""
    for _ in range(count):
        click.echo("Hello, %s!" % name)

if __name__ == '__main__':
    hello()

# 下面为运行效果
$ python hello.py --count=3
Your name: Click
Hello, Click!
Hello, Click!
Hello, Click!

18.awesome-python-applications:(英文)介绍 Python 有趣、神奇的开源项目。目前涵盖多个领域、项目丰富。

19.loguru:一个让 Python 记录日志变得简单的库。

21.scylla:一款高质量的免费代理 IP 池工具,仅支持 Python 3.6。中文文档,特性如下:自动化的代理 IP 爬取与验证、易用的 JSON API、简单但美观的 web 用户界面,基于 TypeScript 和 React(例如,代理的地理分布)最少仅用一行代码即可与 Scrapy 和 requests 进行集成

22.Synonyms:中文近义词工具包。支持自然语言理解的很多任务:文本对齐、推荐算法、相似度计算、语义偏移、关键字提取、概念提取、自动摘要、搜索引擎等。示例代码如下:

import synonyms
synonyms.seg("能量")

23.wtfpython:有趣、令人惊讶(坑爹)、鲜为人知的 Python 代码片段集合。

24.tqdm:强大、快速、易扩展的 Python 进度条库。我想通过下面的示例代码和效果展示图,你会跑去给这个项目来个 Star 的

from tqdm import tqdm
for i in tqdm(range(10000)):
    pass
# 输出结果:
# 76%|████████████████████████████         | 7568/10000 [00:33<00:10, 229.00it/s]

25.youtube-dl:强大的视频下载工具,支持几百个国内外主流视频网站。正如名字一样,最初是为了下载 youtube 上的视频而开发的。如果有国外服务器的朋友,可以充分利用这个工具,下载 youtube 上的视频,速度不要太爽。下面介绍安装、下载视频等命令:

# 1. 安装命令:sudo pip install youtube-dl
Installing collected packages: youtube-dl
Successfully installed youtube-dl-2017.12.14

# 2. 查看 URL 支持格式:youtube-dl --list-formats URL
format code  extension  resolution note
134          mp4        450x360    DASH video  449k , avc1.4d4015, 25fps, video only
17           3gp        176x144    small , mp4v.20.3, mp4a.40.2@ 24k
36           3gp        300x240    small , mp4v.20.3, mp4a.40.2
18           mp4        450x360    medium , avc1.42001E, mp4a.40.2@ 96k
43           webm       640x360    medium , vp8.0, vorbis@128k (best)

# 3. 选择格式下载视频:youtube-dl -f 18 URL (18为mp4 450x360格式)
[youtube:playlist] Downloading playlist PLF90USSyuoYzPhhFG7XFBRn63Zvs--lNP - add --no-playlist to just download video JyLducMVYVg
[youtube:playlist] PLF90USSyuoYzPhhFG7XFBRn63Zvs--lNP: Downloading webpage
[download] Downloading playlist: 情满四合院完整版
[youtube:playlist] playlist 情满四合院完整版: Downloading 42 videos
[download] Downloading video 1 of 42
...

# 4. 下载完成后,最后使用 https://github.com/houtianze/bypy 库把下载的视频同步到百度网盘上

26.pandas-tutorial:这套 pandas 教程包含从初级到进阶的内容,适合初学者和希望进阶建立知识体系的数据科学从业者阅读。作者还在持续更新高级内容,你值得拥有!

27.pysheeet:Python 速查表。

28.ItChat:开源的微信个人号SDK,提供了丰富的功能。从而使得 Python 调用微信、发送消息、传输文件等操作只需要编写极少的代码,示例代码如下:

import itchat

itchat.auto_login()

itchat.send('Hello, filehelper', toUserName='filehelper')

29.pygorithm:一个帮助学习主要算法的库,可以通过理解这些算法的实现,提高自己的算法水平。

30.faker:用于生成假数据的库,支持多种语言,你值得拥有。示例代码:

fake.address()
# '辽宁省雪市静安廉街b座 998259'

fake.street_address()
# '巢湖街U座'

fake.building_number()
# 'x座'

fake.city_suffix()
# '市'

fake.latitude()
# Decimal('-0.295126')

fake.province()
# '湖北省'

31.proxy_pool:基于 Python 的自建代理 IP 池服务,通过网络爬虫抓取互联网上免费的代理 IP,本地校验、剔除失效的代理IP,从而实现高可用的代理 IP 池。最后使用 Flask 搭建提供代理 IP 服务,包括代理池刷新、无效代理删除、代理获取等。该项目设计文档详细、模块结构简明易懂,同时适合爬虫新手更好的学习爬虫技术。

32.getproxy:极简的抓取代理项目,无需配置。不仅提供了获取代理脚本,同时可以通过该页面,直接获取可用代理(15min 更新、类型包含http和https)。

33.syncPlaylist:在网易云音乐与 QQ 音乐之间同步歌单。易于使用、配置方便、代码简单,用到的技术:requests+beautifulsoup以及selenium+phantomjs

34.django-blog-tutorial:基于最新版 Django 1.10 和 Python 3.5,通过 26 篇教程一步步带你使用 Django 从零开发一个个人博客系统,在实践的同时掌握 Django 的开发技巧。

35.snake:贪吃蛇游戏 AI 版,通过算法实现让小蛇通过吃豆,最后蛇的身体填满整个地图算结束。该项目详细描述实现思想以及相关算法的讨论。

36.algorithms:基本算法、数据结构的 Python 实现 。

37.searx:分分钟打造一个聚合的搜索引擎,使用简单,部署方便。拓展方便,基于插件式的管理。

38.sh:sh 是一个成熟,用于替代 subprocess,它允许你调用任何程序,就像它是一个函数,支持 Python2.6 - 3.5。

from sh import ifconfig
print ifconfig("eth0")

39.saythanks.io:Kennethreitz 写的一个简单的网站(基于 Flask),用于向开源项目作者发送感谢邮件的 Web App。该项目结构简单,可以用来学习大神是如何快速开发 Web 项目、方法、代码风格、开发常用库。

40.fake-useragent:伪装浏览器身份,常用于爬虫。这个项目的代码很少,可以阅读一下,看看ua.random是如何返回随机的浏览器身份的 ,示例代码:

from fake_useragent import UserAgent
ua = UserAgent()

ua.ie
# Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US);
ua.msie
# Mozilla/5.0 (compatible; MSIE 10.0; Macintosh; Intel Mac OS X 10_7_3; Trident/6.0)'
ua['Internet Explorer']
# Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; GTB7.4; InfoPath.2; SV1; .NET CLR 3.3.69573; WOW64; en-US)
ua.opera
# Opera/9.80 (X11; Linux i686; U; ru) Presto/2.8.131 Version/11.11
ua.chrome
# Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2'
ua.google
# Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/537.13 (KHTML, like Gecko) Chrome/24.0.1290.1 Safari/537.13
ua['google chrome']
# Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11
ua.firefox
# Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1
ua.ff
# Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0.1
ua.safari
# Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25

# and the best one, random via real world browser usage statistic
ua.random

41.textfilter:基于某 1w 词敏感词库,用 Python 实现几种不同的过滤方式。用于过滤敏感词的实用模块,示例代码:

from filter import DFAFilter

gfw = DFAFilter()
gfw.parse("keywords")
print "待过滤:售假人民币 我操操操"
print "过滤后:", gfw.filter("售假人民币 我操操操", "*")

test_first_character()

# 运行结果
# 待过滤:售假人民币 我操操操
# 过滤后: 售假**币 ****

43.python-guide:Requests 库的作者——kennethreitz,写的 Python 入门教程。不单单是语法层面的,涵盖项目结构、代码风格,进阶、工具等方方面面。虽然是英文版(中文翻译版),但我这个英语渣都能看懂,你肯定也可以,快去看看吧,开卷有益。

44.d2l-zh,动手学深度学习 & pytorch版本:Dive-into-DL-PyTorch

参考链接

https://github.com/521xueweihan/HelloGitHub

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值