python类库大全,python常用库介绍

  python类库大全,python常用库介绍

  学Python,大家肯定都是从一个爬虫开始的。毕竟网上有丰富的类似资源,还有很多开源项目。

  Python学习网络爬虫主要分为三个板块:抓取、分析和存储。

  当我们在浏览器中输入一个url并按回车键时,后台会发生什么?

  简单地说,在这个过程中发生了以下四个步骤:

  找到域名对应的IP地址。

  向IP对应的服务器发送请求。

  服务器响应该请求并发回网页内容。

  浏览器解析网页内容。

  ?

  那么学习爬虫需要掌握哪些库呢?

  通用:

  URL lib-网络库(stdlib)。

  请求-Web库。

  grab-Web库(基于pycurl)。

  pycurlWeb库(绑定到libcurl)。

  URL lib 3Python HTTP库,安全连接池,支持文件post,高可用性。

  http lib 2网络库。

  RobBrowser——一个具有Python风格的简单Python库,可以在没有单独浏览器的情况下浏览网页。

  mechanical soup-一个自动与网站交互的Python库。

  一个有状态和可编程的网页浏览库。

  socket底层网络接口(stdlib)。

  Unirest for Python——Unirest是一组轻量级HTTP库,可以在多种语言中使用。

  Hyper-Python的HTTP/2客户端。

  py socks——socks的更新和积极维护版本,包括错误修复和一些其他功能。作为插座模块的直接替代品。

  网络爬虫框架

  功能齐全的爬行动物

  grab——网络爬虫框架(基于pycurl/multicur)。

  Scrapy网络爬虫框架(基于twisted),不支持Python3。

  PySpider一个强大的爬虫系统。

  cola——一个分布式爬虫框架。

  其他的

  Portia——一个基于Scrapy的可视化爬虫。

  工具包——Python的HTTP资源工具包。它允许您轻松地访问HTTP资源并围绕它构建对象。

  忠诚的口红——基于PyQuery的爬虫微帧。

  HTML/XML解析器

  被普遍使用

  用MLC语言编写高效的HTML/XML处理库。支持XPath。

  选择CSS-解析DOM树和CSS选择器。

  pyquery——解析DOM树和jQuery选择器。

  美汤——低效的HTML/XML处理库,纯Python实现。

  HTML lib根据WHATWG规范生成HTML/XML文档的DOM。现在所有的浏览器都使用这个规范。

  提要解析器解析RSS/ATOM提要。

  标记安全为XML/HTML/XHTML提供安全转义的字符串。

  xmlto dict——一个Python模块,在处理XML的时候可以让你觉得是在处理JSON。

  XML 2 pdf将HTML/CSS转换为PDF。

  解开——轻松地将XML文件转换成Python对象。

  清楚的

  漂白-清理HTML(需要html5lib)。

  sanitize——让混乱的数据世界变得清晰。

  一个用于解析和操作简单文本的库。

  被普遍使用

  difflib-(Python标准库)有助于进行差异化比较。

  Levenshtein快速计算Levenshtein距离和Levenshtein。

  模糊模糊-模糊字符串匹配。

  ESM正则表达式加速器。

  FTFY-自动整理Unicode文本以减少碎片。

  自然语言处理

  处理人类语言问题的图书馆。

  NLTK——编写Python程序处理人类语言数据的最佳平台。

  模式——Python的网络挖掘模块。他有自然语言处理工具,机器学习等等。

  文本blob为深度自然语言处理任务提供一致的API。它是基于NLTK和Pattern在巨人的肩膀上发展起来的。

  Jieba中文分词工具。

  中文文本处理库。

  另一个中文分词库。

  浏览器自动化和模拟

  selenium——自动化真正的浏览器(Chrome、Firefox、Opera、IE)。

  ghost . py——PyQt的webkit封装(PyQt是必需的)。

  spynner——封装PyQT的WebKit(PyQT是必需的)。

  splinter——通用API浏览器模拟器(selenium web driver,Django client,Zope)。

  多重处理

  线程化Python标准库的线程化。它对于I/O密集型任务非常有效。这对CPU受限的任务没用,因为python GIL。

  多进程——标准Python库运行多个进程。

  celery——基于分布式消息传递的异步任务队列/作业队列。

  Concurrent-futuresConcurrent-futures模块为调用异步执行提供了一个高级接口。

  异步的

  异步网络编程库

  asyncio ( Python 3.4版以上的Python标准库)异步I/O、时间周期、协作程序和任务。

  twid——事件驱动的网络引擎框架。

  Tornado一个网络框架和异步网络库。

  pulsarPython事件驱动的并发框架。

  diesel——Python基于绿色事件的I/O框架。

  ge vent——基于使用greenlet的协作的Python web库。

  event let——WSGI支持的异步框架。

  明天——异步代码的精彩修饰语法。

  长队

  celery——基于分布式消息传递的异步任务队列/作业队列。

  小型多线程任务队列。

  MRQ队列先生使用redis Gevent的Python分布式工作任务队列。

  RQ-基于Redis的轻量级任务队列管理器。

  SimpleQ——一个简单的、无限可扩展的队列,基于亚马逊SQS。

  gearman的Python API。

  云计算

  picloud——云中的Python代码执行。

  do minoup . com在云端执行R、Python和matlab代码

  网页抽取

  选择web内容库。

  HTML页面的文本和元数据

  Newspaperer使用Python进行新闻提取、文章提取和内容管理。

  2 HTML text将HTML转换为Markdown格式的文本。

  Python-goose-HTML内容/文章提取器。

  lassie——一个人性化的网络内容检索工具

  WebSocket

  WebSocket的库。

  crossbar——一个开源应用程序消息路由器(由Python实现的用于Autobahn的WebSocket和WAMP)。

  autobahn Python提供WebSocket协议和WAMP协议的Python实现,并且是开源的。

  WebSocket-for-Python——Python 2和3以及PyPy的web socket客户端和服务器库。

  dns分析

  哟——在全球1500多台DNS服务器上检查您的DNS。

  py cares-c-ares的接口。C-ares是一个用于DNS请求和异步名称解析的C语言库。

  计算机视觉

  opencv——开源计算机视觉库。

  简单CV——简单介绍相机、图像处理、特征提取、格式转换和一个可读接口(基于OpenCV)。

  maht as——一种快速的计算机图像处理算法(完全用C实现),它完全基于numpy数组作为其数据类型。

  代理服务系统

  影子袜子-一个快速隧道代理,可以帮助您穿透防火墙(支持TCP和UDP,TFO,多用户和平稳重启,以及目的地IP黑名单)。

  T proxyT proxy是一个简单的TCP路由代理(第7层),基于Gevent,用Python配置。

  web开发的一些框架

  1.姜戈

  Django是一个开源的Web应用框架,用Python编写,支持很多数据库引擎。它可以使Web开发变得快速和可扩展,并且会不断更新其版本以匹配Python的最新版本。如果你是程序员新手,可以从这个框架入手。

  2.瓶

  Flask是一个轻量级的Web应用框架,用Python编写。基于WerkzeugWSGI工具箱和Jinja2模板引擎。使用BSD授权。

  Flask又被称为“微框架”,因为它使用了一个简单的核心,并通过扩展添加了其他功能。默认情况下,Flask没有数据库和表单验证工具。但是Flask保留了扩展的灵活性,这些功能可以用Flask-extension添加:ORM、表单验证工具、文件上传、各种开放认证技术。

  3.Web2py

  Web2py是用Python语言编写的免费开源Web框架,旨在快速快捷地开发Web应用。它具有快速、可扩展、安全和可移植的数据库驱动的应用程序,并遵循LGPLv3开源协议。

  Web2py提供了一站式解决方案,整个开发过程都可以在浏览器上进行。提供网页版在线开发、HTML模板编译、静态文件上传、数据库编译等功能。其他包括日志功能和自动化管理界面。

  4.龙卷风

  Tornado是一个Web服务器(本文不再详细描述),同时也是一个类似于web.py的微框架,作为一个框架,Tornado的思想主要来源于Web.py,你也可以在Web.py的主页上看到Tornado的老板Bret Taylor的这段话(这里提到的FriendFeed使用的框架可以看作是Tornado的一个东西):

  “[web.py启发了]我们在FriendFeed使用的web框架[以及App Engine附带的webapp框架……”

  因为这个关系,以后就不单独讨论龙卷风了。

  5.樱桃派

  CherryPy是一个简单且非常有用的Python Web框架。它的主要功能是用尽可能少的操作用Python代码连接Web服务器。其功能包括内置的分析功能、灵活的插件系统和一次运行多个HTTP服务器的功能。可以和最新版本的Python,Jython,Android相提并论。

  对框架选择的误解

  在框架的选择上,很多人很容易在不知不觉中陷入以下两个误区:哪个框架最好?——世界上没有最好的框架,只有最适合你和你的团队的框架。编程语言选择也是如此。如果您的团队最熟悉Python,请使用Python。如果你最熟悉Ruby,就用Ruby。编程语言和框架只是工具。多做、快做、好做、少做是好事。

  过于关注性能——其实大部分人都不需要过于关注框架的性能,因为你开发的网站根本就是一个小站。能接入一万IP的网站不多,能接入十万IP的就更少了。在达到一定访问量之前谈性能没有太大意义,因为你的CPU和内存总是处于闲置状态。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: