【干货】神级程序员花了三天整理Python 爬虫所要用到的工具!史上最全!

  • PySocks – SocksiPy更新并积极维护的版本,包括错误修复和一些其他的特征。作为socket模块的直接替换。

  • 异步

  • treq – 类似于requests的API(基于twisted)。

  • aiohttp – asyncio的HTTP客户端/服务器(PEP-3156)。

HTML/XML解析器

  • 通用

  • lxml – C语言编写高效HTML/ XML处理库。支持XPath。

  • cssselect – 解析DOM树和CSS选择器。

  • pyquery – 解析DOM树和jQuery选择器。

  • BeautifulSoup – 低效HTML/ XML处理库,纯Python实现。

  • html5lib – 根据WHATWG规范生成HTML/ XML文档的DOM。该规范被用在现在所有的浏览器上。小编推荐大家加一下这个群:103456743这个群里好几千人了!大家遇到啥问题都会在里面交流!而且免费分享零基础入门料资料web开发 爬虫资料一整套!是个非常好的学习交流地方!也有程序员大神给大家热心解答各种问题!很快满员了。欲进从速哦!各种PDF等你来下载!全部都是免费的哦!只为帮助大家快速入门,所以小编在群里等你们过来一起交流学习呢!

    • awesome-slugify – 一个可以保留unicode的Python slugify库。

    • python-slugify – 一个可以将Unicode转为ASCII的Python slugify库。

    • unicode-slugify – 一个可以将生成Unicode slugs的工具。

    • pytils – 处理俄语字符串的简单工具(包括pytils.translit.slugify)。

  • 通用解析器

    • PLY – lex和yacc解析工具的Python实现。

    • pyparsing – 一个通用框架的生成语法分析器。

  • 人的名字

    • python-nameparser -解析人的名字的组件。

  • 电话号码

    • phonenumbers -解析,格式化,存储和验证国际电话号码。

  • 用户代理字符串

  • python-user-agents – 浏览器用户代理的解析器。

  • HTTP Agent Parser – Python的HTTP代理分析器。

    • PDFMiner – 一个从PDF文档中提取信息的工具。

    • PyPDF2 – 一个能够分割、合并和转换PDF页面的库。

    • ReportLab – 允许快速创建丰富的PDF文档。

    • pdftables – 直接从PDF文件中提取表格。

  • Markdown

    • Python-Markdown – 一个用Python实现的John Gruber的Markdown。

    • Mistune – 速度最快,功能全面的Markdown纯Python解析器。

    • markdown2 – 一个完全用Python实现的快速的Markdown。

  • YAML

    • PyYAML – 一个Python的YAML解析器。

  • CSS

    • cssutils – 一个Python的CSS库。

  • ATOM/RSS

    • feedparser – 通用的feed解析器。

  • SQL

    • sqlparse – 一个非验证的SQL语句分析器。

  • HTTP

  • HTTP

    • http-parser – C语言实现的HTTP请求/响应消息解析器。

  • 微格式

    • opengraph – 一个用来解析Open Graph协议标签的Python模块。

  • 可移植的执行体

    • pefile – 一个多平台的用于解析和处理可移植执行体(即PE)文件的模块。

  • PSD

  • psd-tools – 将Adobe Photoshop PSD(即PE)文件读取到Python数据结构。

浏览器自动化与仿真

  • selenium – 自动化真正的浏览器(Chrome浏览器,火狐浏览器,Opera浏览器,IE浏览器)。

  • Ghost.py – 对PyQt的webkit的封装(需要PyQT)。

  • Spynner – 对PyQt的webkit的封装(需要PyQT)。

  • Splinter – 通用API浏览器模拟器(selenium web驱动,Django客户端,Zope)。

队列

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

  • huey – 小型多线程任务队列。

  • mrq – Mr. Queue – 使用redis & Gevent 的Python分布式工作任务队列。

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

  • simpleq – 一个简单的,可无限扩展,基于Amazon SQS的队列。

  • python-gearman – Gearman的Python API。

  •  
    • furl – 一个小的Python库,使得操纵URL简单化。

    • purl – 一个简单的不可改变的URL以及一个干净的用于调试和操作的API。

    • urllib.parse – 用于打破统一资源定位器(URL)的字符串在组件(寻址方案,网络位置,路径等)之间的隔断,为了结合组件到一个URL字符串,并将“相对URL”转化为一个绝对URL,称之为“基本URL”。

    • tldextract – 从URL的注册域和子域中准确分离TLD,使用公共后缀列表。

  • 网络地址

    • netaddr – 用于显示和操纵网络地址的Python库。

网页内容提取

提取网页内容的库。

  • HTML页面的文本和元数据

    • newspaper – 用Python进行新闻提取、文章提取和内容策展。

    • html2text – 将HTML转为Markdown格式文本。

    • python-goose – HTML内容/文章提取器。

    • lassie – 人性化的网页内容检索工具

    • micawber – 一个从网址中提取丰富内容的小库。

    • sumy -一个自动汇总文本文件和HTML网页的模块

    • Haul – 一个可扩展的图像爬虫。

    • python-readability – arc90 readability工具的快速Python接口。

    • scrapely – 从HTML网页中提取结构化数据的库。给出了一些Web页面和数据提取的示例,scrapely为所有类似的网页构建一个分析器。

  • 视频

    • youtube-dl – 一个从YouTube下载视频的小命令行程序。

    • you-get – Python3的YouTube、优酷/ Niconico视频下载器。

  • 维基

    • WikiTeam – 下载和保存wikis的工具。

WebSocket

用于WebSocket的库。

  • Crossbar – 开源的应用消息传递路由器(Python实现的用于Autobahn的WebSocket和WAMP)。

  • AutobahnPython – 提供了WebSocket协议和WAMP协议的Python实现并且开源。

  • WebSocket-for-Python – Python 2和3以及PyPy的WebSocket客户端和服务器库。

DNS解析

  • dnsyo – 在全球超过1500个的DNS服务器上检查你的DNS。

  • pycares – c-ares的接口。c-ares是进行DNS请求和异步名称决议的C语言库。

其他Python工具列表

  • awesome-python

  • pycrumbs

  • python-github-projects

  • python_reference

  • pythonidae

使用Python进行并发编程-asyncio篇(三)

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注