链接:https://zhuanlan.zhihu.com/p/21365319
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
一、Python爬虫
爬虫的主要模块是三个:请求、解析、储存。这里介绍一下我们项目常用的模块。
1. 请求
requests(第三方模块):Requests: HTTP for Humans
对HTTP协议进行高度封装的库,比系统自带的urllib系列的库好用很多。2、3兼容的库。
更多介绍:http://xlzd.me/2015/12/11/requests
2. 解析:
bs4(即beautifulsoup,第三方模块):https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/
解析HTML的神器。比正则好用很多。2、3兼容的库。
3. 储存:
csv(系统模块):https://docs.python.org/2/library/csv.html
把数据写成csv格式。
pymongo(第三方模块):https://api.mongodb.com/python/current/
把数据写入MongoDB(https://www.mongodb.com/)
MySQL-python(第三方模块):https://pypi.python.org/pypi/MySQL-python/1.2.4
把数据写入MySQL里面。
4. 并发(主要是为了提高效率)
主要是三个:协程、线程、进程
(1)协程:gevent(第三方模块)http://www.gevent.org/
(2)线程:threading(系统模块)https://docs.python.org/2/library/threading.html
(3)进程:multiprocessing(系统模块)https://docs.python.org/2/library/multiprocessing.html
二、Python数据分析&科学计算
numpy(第三方模块,C拓展):http://www.numpy.org/
Copy了MATLAB的数据结构。很多数据分析和科学计算库的底层模块。提供了良好的数组数据结构和C拓展接口。
pandas(第三方模块,C拓展):http://pandas.pydata.org/
Copy了R的data frame的数据结构。(pandas的作者是上次专栏提到的《利用Python进行数据分析》 的作者)
scipy(第三方模块,C拓展):http://www.scipy.org/
高级科学计算库。包括概率统计、信号、傅里叶等等。(表示只用过scipy.stats,即概率统计的库)
sympy(第三方模块,C拓展):http://www.sympy.org/en/index.html
符号计算库。(微分积分等等)
statsmodels(第三方模块,C拓展):http://statsmodels.sourceforge.net/
统计&计量库。
三、Python数据挖掘
NLTK:http://www.nltk.org/
自然语言处理的库。(《Python自然语言处理》就是这个库的官方教程。)
(待完善)