scrapy:网页数据采集(爬虫)
scrapy-redis:分布式爬虫
selenium:web测试,仿真浏览器
beautifulsoup:网页解释库,提供lxml的支持
lxml:xml解释库
numpy:基于矩阵的数学计算库
pandas:是基于NumPy数组构建的,对数据进行处理、清洗、分析的工具
scipy:科学计算库
MySQL-python:mysql的读写接口库
mysqlclient:mysql的读写接口库
SQLAlchemy:数据库的ORM封装
redis:redis的读写接口
PyMongo:mongodb的读写接口
requests:HTTP库,用于网络访问
标准库:
os :操作系统接口
- os.path.abspath() : 获得文件的绝对路径
sys :python自身的运行环境
- sys.argv[I] :获取到执行文件时,对应的传入参数
logging :记录日志
json :编码和解码json对象
multiprocessing :多进程
from multiprocessing import Process:引用对应的包。
p=Process(target=run_proc,args=('test',)):调用Process类,进行进程对象的创建操作。为参数target赋值进程要实现的方法,为参数args赋值方法中传入对应的参数。
p.start():开启执行对应的进程操作。
p.join():等待当前进程执行结束,可以等待子进程结束后再继续向下运行,通常用于进程间的同步。
multiprocessing.cpu_count():获取到进程执行的所使用的cpu的内核个数。
pipe=multiprocessing.Pipe():管道实现进程间的通讯。一个管道有两个端口,分别为pipe[0]与pipe[1]
pipe[0].send(向管道中添加的数据):管道的添加操作。
pipe[0].recv():从管道中取出对应的数据信息。
threading :多线程
import thread:引用对应的模块包。
thread.start_new_thread(defName,())创建开启一个新的线程;第一个参数为新线程要执行的方法,第二个参数为元组传递执行方法对应需要参数;注:python元组为一个时需要(元素,)一个元素加一个','进行表示。
thread.exit_thread():主线程调用该方法表示所有的线程结束操作;子线程通过调用exit.thread()的方法来表示实现当前子线程的结束操作。
thread.join(): python的Thread类中还提供了join()方法,使得一个线程可以等待另一个线程执行结束后再继续运行。这个方法还可以设定一个timeout参数,避免无休止的等待。因为两个线程顺序完成,看起来象一个线程,所以称为线程的合并
thread.setDaemon(True):默认情况主线程退出时会等待子线程的结束,如果希望主线程不等待子线程,可以设置子线程为后台线程,主线程退出,子线程随即结束。
Queue :队列
from Queue import Queue:引用对应的模块包。
queue=Queue():创建一个队列对象。
queue.qsize():获取队列中元素的数量。
queue.put(向队列中添加的数据):想队列中添加元素。
queue.set():从队列中取出元素。
queue.empty():判断队列是否为空。
copy :拷贝
time :时间
hashlib :加密算法
random :生成随机数
re :正则匹配