Python爬虫库

2023-11-05

网络

  • 通用

    • urllib -网络库(stdlib)。

    • requests -网络库。

    • grab – 网络库(基于pycurl)。

    • pycurl – 网络库(绑定libcurl)。

    • urllib3 – Python HTTP库,安全连接池、支持文件post、可用性高。

    • httplib2 – 网络库。

    • RoboBrowser – 一个简单的、极具Python风格的Python库,无需独立的浏览器即可浏览网页。

    • MechanicalSoup -一个与网站自动交互Python库。

    • mechanize -有状态、可编程的Web浏览库。

    • socket – 底层网络接口(stdlib)。

    • Unirest for Python – Unirest是一套可用于多种语言的轻量级的HTTP库。

    • hyper – Python的HTTP/2客户端。

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

  • 异步

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

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

网络爬虫框架

  • 功能齐全的爬虫

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

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

    • pyspider – 一个强大的爬虫系统。

    • cola – 一个分布式爬虫框架。

  • 其他

    • portia – 基于Scrapy的可视化爬虫。

    • restkit – Python的HTTP资源工具包。它可以让你轻松地访问HTTP资源,并围绕它建立的对象。

    • demiurge – 基于PyQuery的爬虫微框架。

HTML/XML解析器

  • 通用

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

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

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

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

    • html5lib – 根据WHATWG规范生成HTML/ XML文档的DOM。该规范被用在现在所有的浏览器上。

    • feedparser – 解析RSS/ATOM feeds。

    • MarkupSafe – 为XML/HTML/XHTML提供了安全转义的字符串。

    • xmltodict – 一个可以让你在处理XML时感觉像在处理JSON一样的Python模块。

    • xhtml2pdf – 将HTML/CSS转换为PDF。

    • untangle – 轻松实现将XML文件转换为Python对象。

  • 清理

    • Bleach – 清理HTML(需要html5lib)。

    • sanitize – 为混乱的数据世界带来清明。

文本处理

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

  • 通用

  • difflib – (Python标准库)帮助进行差异化比较。

  • Levenshtein – 快速计算Levenshtein距离和字符串相似度。

  • fuzzywuzzy – 模糊字符串匹配。

  • esmre – 正则表达式加速器。

  • ftfy – 自动整理Unicode文本,减少碎片化。

  • 转换

  • unidecode – 将Unicode文本转为ASCII。

  • 字符编码

  • uniout – 打印可读字符,而不是被转义的字符串。

  • chardet – 兼容 Python的2/3的字符编码器。

  • xpinyin – 一个将中国汉字转为拼音的库。

  • pangu.py – 格式化文本中CJK和字母数字的间距。

  • Slug化

  • 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代理分析器。

特定格式文件处理

解析和处理特定文本格式的库。

  • 通用

  • tablib – 一个把数据导出为XLS、CSV、JSON、YAML等格式的模块。

  • textract – 从各种文件中提取文本,比如 Word、PowerPoint、PDF等。

  • messytables – 解析混乱的表格数据的工具。

  • rows – 一个常用数据接口,支持的格式很多(目前支持CSV,HTML,XLS,TXT – 将来还会提供更多!)。

  • Office

  • python-docx – 读取,查询和修改的Microsoft Word2007/2008的docx文件。

  • xlwt / xlrd – 从Excel文件读取写入数据和格式信息。

  • XlsxWriter – 一个创建Excel.xlsx文件的Python模块。

  • xlwings – 一个BSD许可的库,可以很容易地在Excel中调用Python,反之亦然。

  • openpyxl – 一个用于读取和写入的Excel2010 XLSX/ XLSM/ xltx/ XLTM文件的库。

  • Marmir – 提取Python数据结构并将其转换为电子表格。

  • PDF

  • 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数据结构。

自然语言处理

处理人类语言问题的库。

  • NLTK -编写Python程序来处理人类语言数据的最好平台。

  • Pattern – Python的网络挖掘模块。他有自然语言处理工具,机器学习以及其它。

  • TextBlob – 为深入自然语言处理任务提供了一致的API。是基于NLTK以及Pattern的巨人之肩上发展的。

  • jieba – 中文分词工具。

  • SnowNLP – 中文文本处理库。

  • loso – 另一个中文分词库。

  • genius – 基于条件随机域的中文分词。

  • langid.py – 独立的语言识别系统。

  • Korean – 一个韩文形态库。

  • pymorphy2 – 俄语形态分析器(词性标注+词形变化引擎)。

  • PyPLN – 用Python编写的分布式自然语言处理通道。这个项目的目标是创建一种简单的方法使用NLTK通过网络接口处理大语言库。

浏览器自动化与仿真

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

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

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

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

多重处理

  • threading – Python标准库的线程运行。对于I/O密集型任务很有效。对于CPU绑定的任务没用,因为python GIL。

  • multiprocessing – 标准的Python库运行多进程。

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

  • concurrent-futures – concurrent-futures 模块为调用异步执行提供了一个高层次的接口。

异步

异步网络编程库

  • asyncio – (在Python 3.4 +版本以上的 Python标准库)异步I/O,时间循环,协同程序和任务。

  • Twisted – 基于事件驱动的网络引擎框架。

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

  • pulsar – Python事件驱动的并发框架。

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

  • gevent – 一个使用greenlet 的基于协程的Python网络库。

  • eventlet – 有WSGI支持的异步框架。

  • Tomorrow – 异步代码的奇妙的修饰语法。

队列

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

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

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

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

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

  • python-gearman – Gearman的Python API。

云计算

  • picloud – 云端执行Python代码。

  • dominoup.com – 云端执行R,Python和matlab代码。

电子邮件

电子邮件解析库

  • flanker – 电子邮件地址和Mime解析库。

  • Talon – Mailgun库用于提取消息的报价和签名。

网址和网络地址操作

解析/修改网址和网络地址库。

  • URL

    • 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语言库。

计算机视觉

  • OpenCV – 开源计算机视觉库。

  • SimpleCV – 用于照相机、图像处理、特征提取、格式转换的简介,可读性强的接口(基于OpenCV)。

  • mahotas – 快速计算机图像处理算法(完全使用 C++ 实现),完全基于 numpy 的数组作为它的数据类型。

代理服务器

  • shadowsocks – 一个快速隧道代理,可帮你穿透防火墙(支持TCP和UDP,TFO,多用户和平滑重启,目的IP黑名单)。

  • tproxy – tproxy是一个简单的TCP路由代理(第7层),基于Gevent,用Python进行配置。

其他Python工具列表

  • awesome-python

  • pycrumbs

  • python-github-projects

  • python_reference

  • pythonidae

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python爬虫库 的相关文章

  • maven模板freemarker引擎代码

    依次在src resource template 新建模板引擎mapper xml ftl
  • wvp-pro Java项目启动流程

    1 下载eclipse 下载 点击左边Download x86 64 下载 2 下载后解压 进入文件夹执行 eclipse inst 一路 next就可以安装完成了 记得给自己选择一个合适的安装路径 3 安装结束后 打开IDE 选择菜单he
  • 距离大决战777天——目前的进度

    最近看上了两款开发板 一是大名鼎鼎的合宙C3 看上他是因为9 9的无敌性价比 二是某黄厂的st7789s3 看上他是因为始终的大小和性价比 有着一块170 320的屏 S3处理起来刚好得心应手 58元的价位也是蛮能打 秒杀其他大厂的板子的配
  • OpenMMLab实训16班--第一节

    OpenMMLab实训16班 第一节 主讲人 张子豪 主题 计算机视觉与Openmmlab入门 内容 一 计算视觉基础 计算机视觉任务主要分为分类 检测 分割三类任务 计算机视觉基础问题都是对图像进行模式识别和数据挖掘 二 openmmla
  • 魔方游戏(附游戏开源代码)

    这个魔方游戏的前期的实现参考了许多教程 但全部代码逻辑都是本人写的 借鉴了的都会给出原贴链接 只讲实现的思路 已完成 魔方的转动和魔方的动画效果 支持魔方的cfop全部公式 按按钮可转动魔方 按键盘上的alt键可用移动鼠标360无死角观察魔
  • 二维数组与字符数组部分实验

    学习目标 1 掌握与数组有关的算法 2 掌握二维数组的定义 存储结构 初始化及输入 输出的方法 3 掌握字符数组的定义 初始化及输入 输出的方法 4 掌握字符串和字符串函数的使用 学习内容 1 编写程序实现 输出二维数组 数值型 每一行的最
  • 轨迹路线相似度计算

    概述 在日常生活中很多场景应用到了轨迹相似度的计算 如 地图路线匹配 发现新冠病毒易感人群等 目前主要使 的相似性分析 法可以分为基于规整的方法 包括动态时间规整 DTW 最 公共 序列 LCSS 和基于真实序列的编辑距离 EDR 等 和基
  • 内推几何建模与图形渲染职位

    最近 可能也会是长期的 公司在大力招兵买马 急缺几何 图形方面的人才 初级 高级 专家或有致力于图形领域方面开发都欢迎 当然其他方面的也有 包括BIM相关的开发 可直接内推 具体职位列表如下 薪资open可谈 坐标 上海 深圳 武汉三地均可
  • android shape 的使用

    Android中常常使用shape来定义控件的一些显示属性它可以作为一般图片使用 今天看了一些shape的使用 对shape有了大体的了解 稍作总结 先看下面的代码 复制到剪贴板 XML HTML代码
  • @umijs/plugin-locale使用

    介绍 plugin locale是一个国际化的插件 用于解决i18n问题 约定式的多语言支持 可以进行多个国际语言的切换 启用方式 在umirc ts文件中配置locale 开启 使用 在src下创建一个locales文件夹 在文件夹下配置
  • python 简单使用MNIST数据集实现手写数字识别

    一 了解MNIST数据集 import tensorflow as tf import tensorflow examples tutorials mnist input data as input data import matplotl
  • @Service注解怎么使用?@Service注解的用法

    Service注解用于类上 标记当前类是一个service类 加上该注解会将当前类自动注入到spring容器中 不需要再在applicationContext xml文件定义bean了 自动扫描路径下面的包的时候 如果一个类带了 Servi
  • 绕过登录的万能密码 SQL 注入

    Portswigger练兵场之SQL注入 SQL 注入 绕过登录的万能密码 Lab SQL injection vulnerability allowing login bypass 实验前置必要知识点 正常一个没有防护的应用程序 允许用户
  • PCL 半径滤波(C++详细过程版)

    半径滤波 一 概述 二 代码实现 三 结果展示 1 原始点云 2 滤波结果 一 概述 半径滤波在PCL里有现成的调用函数 具体算法原理和实现代码见 PCL 半径滤波器 之所以要写算法详细实现过程是为了对算法进行改进 二 代码实现 inclu
  • java--基础--22--Lambda

    java 基础 22 Lambda 代码 https gitee com DanShenGuiZu learnDemo tree mysql mybaties DB jdk8 learn 1 组成Lambda表达式的三要素 形式参数 箭头
  • unity获取脚本组件_Unity小练习学C#之获取Animator组件并控制

    本人是C 初学者 可能有些说法不太合适 请各位多多指教 希望在你们的指导中快速成长 本次目标 能使用UI Button 控制角色的动画状态切换 Unity小练习学C 之获取Animatorhttps www zhihu com video
  • 什么是Linux系统

    一 什么是Linux系统 系统简介 Linux 全称GNU Linux 是一套免费使用和自由传播的类Unix操作系统 是一个基于POSIX的多用户 多任务 支持多线程和多CPU的操作系统 伴随着互联网的发展 Linux得到了来自全世界软件爱
  • 在服务器上搭建网站

    我们购买云服务器后 进入服务器windows界面 会有几个个重要的系统软件 其中有FileZillaServerInterface 和 Internet信息服务 ISS 管理器 FileZillaServerInterface 是用来与FT
  • Orangepi Zero2——系统启动及wiringPi外设SDK安装

    文章目录 平台介绍 刷机和系统启动 工具 登录 串口登录 修改登录密码 网络配置 串口登录下修改内核日志输出级别 SSH登录开发板 基于官方外设开发 wiringPi外设SDK安装 平台介绍 配置图 背面图 引脚功能图 特性 CPU 全志H
  • Matlab中的傅里叶级数展开函数

    今天在用Matlab 2012b 计算的时候发现其中的函数库没有直接提供傅里叶级数展开的函数 就自己搞了一个 function A B F fseries f x n a b 用于求解函数的傅里叶级数展开 if nargin 3 a pi

随机推荐

  • .ply模型格式解析与Loader编写

    格式介绍 PLY作为一种多边形模型数据格式 不同于三维引擎中常用的场景图文件格式和脚本文件 每个PLY文件只用于描述一个多边形模型对象Object 该模型对象可以通过诸如顶点 面等数据进行描述 被统称作元素Element PLY的文件结构是
  • Matlab:数模03-灰色预测

    文章目录 关于灰色预测模型 累加生成 GM 1 1 模型 GM 1 1 模型的精度检验 Matlab代码 数据测试 01 数据测试 02 用途 关于灰色预测模型 累加生成 在累加生成的基础上 我们建立了GM 1 1 模型 GM 1 1 模型
  • 极大似然估计和最大后验估计

    https baijiahao baidu com s id 1593811166204755239 wfr spider for pc 机器学习中 一般只得到业务产生的数据集D 机器学习目的是通过数据D了解该项业务的过去 建模 和未来 预
  • C#学习教程之三

    C 类是一种数据结构 它可以封装数据成员 函数成员和其他的类 类是创建对象的模版 C 的一切类型都是类 所有的语句都必须位于类内 不存在任何游离于类外的语句 因此 类是C 语言的核心和基本构成模块 C 类 类是从实际对象中抽象出来的一种完整
  • mybatis整合spring之mapperLocations和typeAliasesPackage(mapper-locations和type-aliases-package)

    Spring整合
  • reactnative textinput禁止弹出键盘_定了!这个考试禁止携带计算器!证券从业考试可以带吗?(附计算器使用汇总)...

    hi 大家好 我是大咖罗 都说考证是赶早不赶晚 考试政策的变化总是来得猝不及防 01 会计中级考试 禁止携带计算器 前不久 财政部紧急发布 关于修订印发 全国会计专业技术资格考试考场规则 等文件的通知 通知中明确 携带准考证和有效居民身份证
  • linux 时间通知链机制,linux内核的通知链机制

    一 为什么需要通知链 linux内核的各个子系统之间往往互相关联 一个子系统产生或者侦测到的事件 其它的子系统往往也很感兴趣 因此linux内核采用了通知链机制实现内核的子系统之间的通信需求 值的注意的是 通知链机制仅用于内核内部的子系统之
  • 三阶魔方自动还原 vc实现

    魔方自动求解程序一般有两种方法 一种是按照人还原魔方的步骤 一步步来 另外一种是使用数学方法 魔方自有一套复杂的数学理论 其中较著名的是两阶段算法 压缩文件中的cube430 exe使用的就是数学方法 程序作者便是two phase算法发明
  • BurpSuite超详细安装教程-功能概述-配置-使用教程---(附下载链接)

    一 介绍 BurpSuite是渗透测试 漏洞挖掘以及Web应用程序测试的最佳工具之一 是一款用于攻击web 应用程序的集成攻击测试平台 可以进行抓包 重放 爆破 包含许多工具 能处理对应的HTTP消息 持久性 认证 代理 日志 警报 二 工
  • 使用Cobra开发自己的命令行工具

    Cobra 项目地址 https github com spf13 cobra 1 新建cobra项目 安装cobra cli工具 go install github com spf13 cobra cli latest 新建项目目录 mk
  • 扫盲-----addEventlistener()方法,事件监听(一)

    一 扫盲事件起因 时间 2018年6月1日周五下午 原本我以为我已经把当前的bug改好 应该没啥问题了 坐等下班公司聚餐 开心 突然 隔壁同组大哥 哎 cp 你看看 你这个首页报了很多错哎 我的第一反应就是 不可能 怎么会有错误呢 我明明都
  • osgEarth的Rex引擎原理分析(七十二)如何从高程影像变成高程网格

    目标 七十一 中的问题143 有两种方法 1 对高程影像进行采样 用采样值来设置高程 通过CPU实现 2 通过着色器来实现 在GPU上进行操作 待继续分析列表 9 earth文件中都有哪些options 九 中问题 10 如何根据earth
  • jQuery甘特图/日程图/横道图/插件

    基于JQ的一款灵活高效 支持自定义拓展的甘特图 日程图插件 支持月 周 小时等显示方式 支持拖动改变时间 展开与收起 添加 删除 刷新 节假日高亮 clicked dblClicked changed事件 调用方式 ganttChart g
  • 【备战csp-j】 csp常考题型详解(1)

    一 计算机基础知识 1 微型计算机的问世是由于 的出现 A 中小规模集成电路 B 晶体管电路 C 超 大规模集成电路 D 电子管电路 答案 C 解析 年代 元件 第一代 1946 1958 电子管 第二代 1959 1964 晶体管 第三代
  • Vue使用three.js的GLTFLoader导入外部模型绘制边界

    一 效果展示 threeJs渲染外部模型视频 二 项目引用 将OrbitControls和GLTFLoader引入到项目中 import as THREE from three 引入three import OrbitControls fr
  • NYOJ 586 疯牛 & POJ 2456(二分搜索 + 贪心)

    疯牛 时间限制 1000 ms 内存限制 65535 KB 难度 4 描述 农夫 John 建造了一座很长的畜栏 它包括N 2 lt N lt 100 000 个隔间 这些小隔间依次编号为x1 xN 0 lt xi lt 1 000 000
  • 设计模式(十五)-面向对象概念

    软件设计 十五 UML建模 下 https blog csdn net ke1ying article details 129152487 一 设计原则 1 单一职责 设计目的单一的类 2 开放 封闭原则 对扩展开放 对修改关闭 3 里氏替
  • Elasticsearch集群内存占用高?用这招!

    一 freeze index冻结索引介绍 Elasticsearch为了能够实现高效快速搜索 在内存中维护了一些数据结构 当索引的数量越来越多 那么这些数据结构所占用的内存也会越来越大 这是一个不可忽视的损耗 在实际的业务开展过程中 我们会
  • 电容触摸式操作面板按键方案选型

    系列文章目录 1 元件基础 2 电路设计 3 PCB设计 4 元件焊接 5 板子调试 6 程序设计 7 算法学习 8 编写exe 9 检测标准 10 项目举例 11 职业规划 文章目录 前言 方案一 触摸弹簧 方案二 ITO导电玻璃 银浆触
  • Python爬虫库

    网络 通用 urllib 网络库 stdlib requests 网络库 grab 网络库 基于pycurl pycurl 网络库 绑定libcurl urllib3 Python HTTP库 安全连接池 支持文件post 可用性高 htt