Python 的标准库包括了很多的模块, 从 Python 语言自身特定的类型和声明, 到一些只用于少数程序的不著名的模块。在 Linux环境 运行Python 经常出现缺失 Python库 的情形:
yum install python-lxml
对于树莓派等其他系统,可以使用:
sudo apt-get install python3-lxml
python第三方模块众多,下面我介绍一些比较实用而又有趣的模块,主要分为爬虫、数据处理、可视化、机器学习、神经网络、股票财经、游戏这7个方面,主要内容如下:
目前来说,比较流行的框架是scrapy,对爬取数据来说,简单方便了不少,只需要自己添加少量的代码,框架便可启动开始爬取,当然,还有简单地爬虫包,像requests+BeautifulSoup,对于爬取简单网页来说,也足够了。
numpy,scipy,pandas这些包对于处理数据来说非常方便,线性代数、科学计算等,利用numpy处理起来非常方便,pandas提供的DataFrame类可以方便的处理各种类型的文件,像excel,csv等,是分析数据的利器。
这里的包其实也挺多的,除了我们常用的matplotlib外,还有seaborn,pyecharts等,可以绘制出各种各样类型的图形,除了常见的线图、饼图和柱状图外,还可以绘制出地图、词云图、地理坐标系图等,美观大方,所需的代码量还少,更容易上手。
常见的机器学习算法,像回归、分类、聚类、降维、模型选择等,scikit-learn包都有现成的代码可供利用,对于这机器学习方面感兴趣的人来说,这是一个入门机器学习的好包。
说起神经网络,大部分人都应该会想起深度学习,对应的就会想到谷歌目前非常流行的深度学习框架—tensorflow,tesndorflow可被用于语音识别和图像识别等众多领域,其发展前景光明,对于这方面感兴趣的科研人员来说,是一个很不错的工具,当然,还有基于tensorflow的theano,keras等,都是学习神经网络的不错选择。
对于股票和财经比较感兴趣的朋友来说,python也提供了现成的库来获取和分析股票财经数据—tushare,tushare是一个免费、开源的python财经数据接口包,可以快速的获取到国内大部分股票数据,对于金融分析人员来说,可以说是一个利器,降低了许多任务量。
python专门为游戏开发提供了一个平台—pygame,对于想快速开发小型游戏的用户来说,是一个很不错的选择,简单易学、容易上手,脱离了低级语言的束缚,使用起来也挺方便的。
pip install youtube-dl #直接安装youtube-dl
pip install -U youtube-dl #安装youtube-dl并更新
youtube-dl "http://www.youtube.com/######"
如果想下载腾讯视频、优酷、爱奇艺里面的视频,一定要试试you-get这个模块,也可以下载youtube的视频。
you-get "http://www.youtube.com/######"
pip install MyQR
myqr https://github.com
myqr https://github.com -v 10 -l Q
pip install fake-useragent
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'
pip install requests
import requests
r = requests.get("https://www.#####.com/")
print(r.text)