爬虫的编程语言有不少,但 Python 绝对是其中的主流之一。下面就为大家介绍下 Python 在编写网络爬虫常常用到的一些库。

请求库:实现 HTTP 请求操作

  • **urllib:**一系列用于操作URL的功能。
  • **requests:**基于 urllib 编写的,阻塞式 HTTP 请求库,发出一个请求,一直等待服务器响应后,程序才能进行下一步处理。
  • **selenium:**自动化测试工具。一个调用浏览器的 driver,通过这个库你可以直接调用浏览器完成某些操作,比如输入验证码。
  • **aiohttp:**基于 asyncio 实现的 HTTP 框架。异步操作借助于 async/await 关键字,使用异步库进行数据抓取,可以大大提高效率。

解析库:从网页中提取信息

  • **beautifulsoup:**html 和 XML 的解析,从网页中提取信息,同时拥有强大的API和多样解析方式。
  • **pyquery:**jQuery 的 Python 实现,能够以 jQuery 的语法来操作解析 HTML 文档,易用性和解析速度都很好。
  • **lxml:**支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高。
  • **tesserocr:**一个 OCR 库,在遇到验证码(图形验证码为主)的时候,可直接用 OCR 进行识别。

存储库:Python 与数据库交互

  • **pymysql:**一个纯 Python 实现的 MySQL 客户端操作库。
  • **pymongo:**一个用于直接连接 mongodb 数据库进行查询操作的库。
  • **redisdump:**一个用于 redis 数据导入/导出的工具。基于 ruby 实现的,因此使用它,需要先安装 Ruby。

爬虫框架

  • **Scrapy:**很强大的爬虫框架,可以满足简单的页面爬取(比如可以明确获知url pattern的情况)。用这个框架可以轻松爬下来如亚马逊商品信息之类的数据。但是对于稍微复杂一点的页面,如 weibo 的页面信息,这个框架就满足不了需求了。
  • **Crawley:**高速爬取对应网站的内容,支持关系和非关系数据库,数据可以导出为 JSON、XML 等。
  • **Portia:**可视化爬取网页内容。
  • **newspaper:**提取新闻、文章以及内容分析。
  • **python-goose:**java 写的文章提取工具。
  • **cola:**一个分布式爬虫框架。项目整体设计有点糟,模块间耦合度较高。

Web 框架库

  • **flask:**轻量级的 web 服务程序,简单,易用,灵活,主要来做一些 API 服务。做代理时可能会用到。
  • **django:**一个 web 服务器框架,提供了一个完整的后台管理,引擎、接口等,使用它可做一个完整网站。

相关推荐:

  • 80个Python练手项目列表
  • 使用 Python 批量爬取网站信息
  • 这么多人推崇Python,如果他们学了找不到工作怎么办?
  • 常见数据结构的 Python 实现(建议收藏)
  • 快速入门 Python 数据分析实用指南
  • [新手必备]Python 基础入门必学知识点笔记

Python 网络爬虫的常用库汇总相关推荐

  1. python网络爬虫的第三方库_Python常用第三方库_网络爬虫、数据分析与WEB开发、机器学习...

    Python语言有超过12万个第三方库,覆盖信息技术几乎所有领域.下面简单介绍下网络爬虫.自动化.数据分析与可视化.WEB开发.机器学习和其他常用的一些第三方库,如果有你感兴趣的库,不妨去试试它的功能 ...

  2. Python的各大常用库汇总

    Python常用库 Chardet字符编码探测器,可以自动检测文本.网页.xml的编码. colorama主要用来给文本添加各种颜色,并且非常简单易用. Prettytable主要用于在终端或浏览器端 ...

  3. python urllib.request 爬虫 数据处理-Python网络爬虫(基于urllib库的get请求页面)

    一.urllib库 urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在Python3中的为urllib.request和urllib. ...

  4. Python网络爬虫之requests库Scrapy爬虫比较

    requests库Scrapy爬虫比较 相同点: 都可以进行页面请求和爬取,Python爬虫的两个重要技术路线 两者可用性都好,文档丰富,入门简单. 两者都没有处理JS,提交表单,应对验证码等功能(可 ...

  5. python网络爬虫的第三方库_以下选项中,Python网络爬虫方向的第三方库是A.()scrapy()B.()numpy()C.()openpyxl()D.()PyQt5...

    [填空题] 水泥浆体由初凝到终凝的过程称为水泥的(). [单选] 肝脏是人体最大的实质性器官,其重量约() [填空题] 由箭线.节点和线路组成的,用来表示工作流程的有序.有向的网络叫做(). [判断题 ...

  6. Python:网络爬虫爬取某表情包网站

    Python:网络爬虫爬取某表情包网站 参考: 爬虫基础知识点汇总(html文件基础和4个常用库 超级详细长文预警) [爬虫教程]吐血整理,最详细的爬虫入门教程~ HTML的简单介绍 HTML的全称为 ...

  7. python网络爬虫系列教程——python中pyquery库应用全解

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python网络爬虫lxml库的应用全解. 在线安装方法:cmd中输入"pip install pyquery" 离线安装 ...

  8. python网络爬虫系列教程——python中requests库应用全解

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python中requests库的基础应用,网页数据挖掘的常用库之一.也就是说最主要的功能是从网页抓取数据. 使用前需要先联网安装reques ...

  9. Python网络爬虫全网资源汇总

    网络爬虫是什么? 百度百科 书籍 <Python网络爬虫权威指南 第2版> <Python网络爬虫框架Scrapy从入门到精通> <精通Python网络爬虫核心技术.框架 ...

最新文章

  1. LeetCode Generate Parentheses
  2. JSPServlet学习手册
  3. java一个接口执行结束释放内存_java的灵魂--JVM虚拟机
  4. 《研磨设计模式》chap22 装饰模式Decorator(2)应用到场景
  5. SAP错误问题汇总(转)
  6. MIT的周博磊博士如何解释深度学习模型(附PPT)
  7. 从零开始学前端:HTML的一些文本格式化标签、快捷键、和特殊符号 --- 今天你学习了吗?(CSS:Day02)
  8. WinForm如何控制ShowDialog()的返回值,并且可以判断是否会弹出主窗体
  9. 中文分词:正向最大匹配与逆向最大匹配
  10. 面试准备——springboot相关
  11. Linux安装后的基本配置
  12. 人工智能、区块链、算法...这30个大数据热词你知道吗?
  13. 【Makefile】简单的Makefile编写
  14. Google Daydream实验室:VR设计的三大要素
  15. 绘图板应用讲解计算机,计算机绘图应用教程——caxa电子图板xp.pptx
  16. CameraBag Photo 2020 for Mac(Mac滤镜软件)
  17. [c++]平均成绩、从尾到头打印链表、整数从大到小排序、二分法查找、斐波那契数列
  18. 华为手机进入汽车自动打开热点
  19. 小微企业如何通过地推实现精准获客?
  20. C语言简介及进制换算

热门文章

  1. android 图片与内存加载
  2. 关于 数据文件自增长 的一点理解
  3. qt 程序windows 上发布
  4. 怀念mj--20090902
  5. 初学者学习java编程,如何顺利通过4大艰难阶段?
  6. 30kJava程序员升为全栈架构师的晋升之路
  7. u-tools图床便捷生成markdown图片
  8. linux 系统 权限
  9. Spring Boot(一)—— Spring Boot 入门
  10. Verilog定义计算位宽的函数clogb2