史上最全156个Python网络爬虫资源,运维收藏!

碉堡了~今天把python的爬虫工具搬过来~本列表包含python网页抓取和数据处理相关的库。
网络相关
通用
urllib-网络库(标准库)
requests-网络库
grab-网络库(基于pycurl)
pycurl-网络库(与libcurl绑定)
urllib3-具有线程安全连接池、文件psot支持、高可用的pythonhttp库
httplib2-网络库
robobrowser-一个无需独立浏览器即可访问网页的简单、pythonic的库
mechanicalsoup-能完成自动网站交互的python库
mechanize-有状态、可编程的网页浏览库。
socket-底层网络接口(标准库)
unirestforpython-一套支持多种语言的轻量级http库
hyper-pythonhttp/2客户端
pysocks-socksipy持续更新并维护的版本,指出bug修复和一些其他功能,可以作为socket模块的替代品
异步
treq-基于twisted、与requests类似的api
aiohttp-asyncio的http客户端/服务器(pep-3156)
网络爬虫框架
全能型爬虫
grab-网络爬虫框架(基于pycurl/multicurl)
scrapy-网络爬虫框架(基于twisted)
pyspider-一个强力的爬虫系统
cola-一个分布式爬虫框架
其他
portia-基于scrapy的可视化爬虫
restkit-python的http资源库。允许影虎简单的访问http资源并用来创建项目
demiurge-基于pyquery的微型爬虫框架
html/xml解析
通用
lxml-高效的html/xml处理库。支持xpath,用c语言写成
cssselect-解析dom树和css选择器
pyquery-解析dom树和jquery选择器
beautifulsoup-python写成的低效html/xml处理库
html5lib-根据whatwg规范生成html/xml文档的dom。whatwg规范是现在浏览器的通行规范
feedparser-解析rss/atom信息流
markupsafe-python的xml/html/xhtml安全转义字符串工具
xmltodict-让你处理xml如同处理json一样
xhtml2pdf-html/csstopdf转化器
untangle-讲xml文档转化为python项目以简化处理难度
hodor-支持lxmlandcssselect的配置驱动包装工具
清理
bleach-清理html(需求html5lib)
sanitize-将混乱的数据世界恢复清楚
文本处理
解析及操作文本的库
通用
difflib-差异化计算工具(python标准库)
levenshtein-快速计算编辑距离及字符串相似度
fuzzywuzzy-模糊字符串比匹配
esmre-正则表达式加速器.
ftfy-将unicode文本自动整理减少碎片化
转换
unidecode-unicode转化为ascii文本
字符编码
uniout-将转移字符串输出为可读形式
chardet-python2/3兼容字符编码检测器
xpinyin-讲汉字转为拼音的库
pangu.py-cjk及字母数字文本间距格式化
slug化
awesome-slugify-可保留unicode的pythonslugify库
python-slugify-讲unicode转为ascii的pythonslugify库
unicode-slugify-unicodeslugs生成工具
pytils-处理俄语字符串的小工具(包含pytils.translit.slugify)
通用解析器
ply-pythonlex和yacc解析工具
pyparsing-用于生成解析器的通用框架
人名
python-nameparser-姓名解析组件
电话号码
phonenumbers-处理、格式化、存储、验证全球电话号码
用户代理字符串
python-user-agents-浏览器用户代理解析器
httpagentparser-pythonhttp代理解析器
fake-useragent-基于全球浏览器统计的python用户代理欺骗器
user_agent-用户代理数据生成器
特殊格式处理
处理特编辑特殊字符格式的库
通用
tablib-处理xls,csv,json,yaml等表格数据的库
textract-从任何文档中提取文本,支持word,powerpoint,pdf等
messytables-杂乱的表格数据解析
rows-支持多种格式的通用且美观的表格数据处理器(现有csv,html,xls,txt--即将支持更多)
office
python-docx-阅读,查询和修改microsoftword2007/2008docx文件
xlwt/xlrd-从excel读取及写入数据和格式化信息
xlsxwriter-用于穿件excel.xlsx文件的python模块
xlwings-一个bsd许可的库,是excel与python互相调用更加简单
openpyxl-可读取、编辑excel2010xlsx/xlsm/xltx/xltm文件的库
marmir-提取python数据结构并将其转化为表格的库
pdf
pdfminer-从pdf文档中提取信息的工具
pypdf2-一个分割、合并、转换pdf文件的库
reportlab-可以快速创建大量pdf文档
pdftables-从pdf文件中精准提取表格
markdown
python-markdown-一个用python实现的johngruber的markdown
mistune-速度最快,功能全面的markdown纯python解析器
markdown2-一个完全用python实现的快速的markdown
yaml
pyyaml-一个python的yaml解析器
css
cssutils-一个python的css库
atom/rss
feedparser-通用的feed解析器
sql
sqlparse-一个无验证的sql语句分析器
http
http-parser-c语言实现的http请求/响应消息解析器
microformats
opengraph-一个用来解析opengraph协议标签的python模块
可移植的执行体
pefile-一个多平台的用于解析和处理可移植执行体(即pe)文件的模块
psd
psd-tools-将adobephotoshoppsd(即pe)文件读取到python数据结构
自然语言处理
自然语言处理库
nltk-python自然语言处理领先者
pattern-python的网络挖掘模块。他有自然语言处理工具,机器学习以及其它
textblob-为深入处理自然语言的项目提供api,参考了nltk及其他
jieba-中文分词
snownlp-汉字文本处理库
loso-中文分词库
genius-基于条件随机域的中文分词
langid.py-独立的语言识别系统
korean-韩文形态库
pymorphy2-俄语形态分析器(词性标注+词形变化引擎)
pypln-用python编写的分布式自然语言处理通道。这个项目的目标是创建一种简单的方法使用nltk通过网络接口处理大语言库
langdetect-python的谷歌语言检测库端口
浏览器自动化与仿真
浏览器
selenium-自动化真实浏览器(chrome,firefox,opera,ie)
ghost.py-qtwebkit封装(需求pyqt)
spynner-具备ajax支持的程序化网页浏览模块
splinter-通用api浏览器模拟器(seleniumweb驱动,django客户端,zope)
headless工具
xvfbwrapper-用于在x虚拟帧缓冲区(xvfb)中运行显示的python包装器
多进程并发
threading-python标准库的多线程运行。因为pythongil限制,对于i/o密集型任务很有效,对于cpu绑定的任务没用
multiprocessing-多进程标准库
celery-基于分布式消息传递的异步任务队列/作业队列
concurrent-futures-concurrent.futures模块提供用于异步执行callable的高级接口
异步
异步网络编程库
asyncio-异步i/o,时间循环,协同程序和任务(python3.4以上版本的python标准库)
twisted-基于事件驱动的网络引擎框架
tornado-一个web框架及异步网络库
pulsar-python事件驱动的并发框架
diesel-python的基于greenlet的i/o框架
gevent-一个基于协同程序的python网络库,使用greenlet
eventlet-有wsgi支持的异步框架
tomorrow-异步代码的魔法
队列
celery-基于分布式消息传递的异步任务队列/作业队列
huey-小型多线程任务队列
mrq-mr.queue-使用redis&gevent的python分布式工作任务队列
rq-基于redis的轻量级任务队列管理器
simpleq-一个简单的,可无限扩展,基于amazonsqs的队列
python-gearman-gearman的pythonapi
云计算
picloud-在云端执行python
dominoup-在云端执行r,python及matlab代码
电子邮件
电子邮件处理库
flanker-电子邮件及mime处理库
talon-mailgun库用于提取消息的报价和签名
url和网络地址操作
url和网络地址操作库
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-arc90readability工具的快速python接口
scrapely-从html网页中提取结构化数据的库。给出了一些web页面和数据提取的示例,scrapely为所有类似的网页构建一个分析器
libextract-从网站提取数据
视频
youtube-dl-一个从youtube下载视频的小型命令行工具
you-get-python3写成的youtube/youku/niconico视频下载工具
wiki
wikiteam-下载并保存wkiks的工具
websocket
用于websocket的库
crossbar-开源的应用消息传递路由器(python实现的用于autobahn的websocket和wamp)
autobahnpython-提供了websocket协议和wamp协议的python实现并且开源
websocket-for-python-python2和3以及pypy的websocket客户端和服务器库
dns解析
dnsyo-在全球超过1500个的dns服务器上检查你的dns
pycares-ic-ares的接口。c-ares是进行dns请求和异步名称决议的c语言库
计算机视觉
opencv-开源计算机视觉库
simplecv-用于照相机、图像处理、特征提取、格式转换的简介,可读性强的接口(基于opencv)
mahotas-快速计算机图像处理算法(完全使用c++实现),完全基于numpy的数组作为它的数据类型
代理服务器
shadowsocks-一个快速隧道代理,可帮你穿透防火墙(支持tcp和udp,tfo,多用户和平滑重启,目的ip黑名单)
tproxy-tproxy是一个简单的tcp路由代理(第7层),基于gevent,用python进行配置
杂项
user_agent-此模块用于生成随机,有效的web导航器的配置和用户代理httpheader
其他
awesome-python
pycrumbs
python-github-projects
python_reference
pythonidae