python爬虫要用到的库总结


Posted in Python onJuly 28, 2020

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 服务器框架,提供了一个完整的后台管理,引擎、接口等,使用它可做一个完整网站。

观点扩展:

学习爬虫,最初的操作便是模拟浏览器向服务器发出请求,那么我们需要从哪个地方开始做起呢?请求需要我们自己来构造吗?需要关心请求这个数据结构的实现嘛?需要了解HTTP、TCP、IP层的网络传输通信吗?需要直到服务器的响应和应答原理吗?

可能你对这些根本不了解,也没办法下手。但是没关系,python为我们提供了功能齐全的类库来帮助我们完成这些请求。最基础的HTTP库有urllib、requests、treq等。

以urllib为例,有了它,我们只需要关心请求的连接是什么。需要传的参数是什么,以及如何设置可选的请求头就好了,不用深入到底层去了解它到底是怎样传输和通信的。有了它,两行代码就可以完成一个请求和相应的处理过程,得到网页内容,是不是感觉方便极了?

以上就是python爬虫要用到的库总结的详细内容,更多关于python爬虫要用到哪些库的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
在Python中编写数据库模块的教程
Apr 29 Python
Python中super关键字用法实例分析
May 28 Python
Python实现的基于优先等级分配糖果问题算法示例
Apr 25 Python
获取python的list中含有重复值的index方法
Jun 27 Python
Python实现合并excel表格的方法分析
Apr 13 Python
如何解决tensorflow恢复模型的特定值时出错
Feb 06 Python
python实现人机五子棋
Mar 25 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
Jun 04 Python
Tensorflow--取tensorf指定列的操作方式
Jun 30 Python
python中time包实例详解
Feb 02 Python
Python实现排序方法常见的四种
Jul 15 Python
Python测试框架pytest高阶用法全面详解
Jun 01 Python
Python常用类型转换实现代码实例
Jul 28 #Python
Python 如何创建一个线程池
Jul 28 #Python
matplotlib subplot绘制多个子图的方法示例
Jul 28 #Python
python爬虫用mongodb的理由
Jul 28 #Python
python爬虫数据保存到mongoDB的实例方法
Jul 28 #Python
Python3爬虫带上cookie的实例代码
Jul 28 #Python
python实现批处理文件
Jul 28 #Python
You might like
PHP 在线翻译函数代码
2009/05/07 PHP
网页游戏开发入门教程三(简单程序应用)
2009/11/02 PHP
javascript中onmouse事件在div中失效问题的解决方法
2012/01/09 Javascript
javascript椭圆旋转相册实现代码
2012/01/16 Javascript
Jquery实现鼠标移上弹出提示框、移出消失思路及代码
2013/05/19 Javascript
js判断文件格式及大小的简单实例(必看)
2016/10/11 Javascript
JS实现探测网站链接的方法【测试可用】
2016/11/08 Javascript
详解Angualr 组件间通信
2017/01/21 Javascript
使用ES6语法重构React代码详解
2017/05/09 Javascript
小程序登录态管理的方法示例
2018/11/13 Javascript
Node.js 路由的实现方法
2019/06/05 Javascript
在pycharm中开发vue的方法步骤
2020/03/04 Javascript
JS内置对象和Math对象知识点详解
2020/04/03 Javascript
基于elementUI竖向表格、和并列的案例
2020/10/26 Javascript
使用python调用浏览器并打开一个网址的例子
2014/06/05 Python
Python中字符串的处理技巧分享
2016/09/17 Python
Python中摘要算法MD5,SHA1简介及应用实例代码
2018/01/09 Python
python遍历文件夹,指定遍历深度与忽略目录的方法
2018/07/11 Python
python在html中插入简单的代码并加上时间戳的方法
2018/10/16 Python
python中的tcp示例详解
2018/12/09 Python
Python文件读写常见用法总结
2019/02/22 Python
使用python对多个txt文件中的数据进行筛选的方法
2019/07/10 Python
python脚本后台执行方式
2019/12/21 Python
Python 使用Opencv实现目标检测与识别的示例代码
2020/09/08 Python
Python3如何使用tabulate打印数据
2020/09/25 Python
基于CSS3实现的黑色个性导航菜单效果
2015/09/14 HTML / CSS
一些PHP的面试题
2015/05/06 面试题
JRE、JDK、JVM之间的关系怎样
2012/05/16 面试题
商务专员岗位职责范本
2014/06/29 职场文书
社区关爱留守儿童活动方案
2014/08/22 职场文书
2014迎接教师节演讲稿
2014/09/10 职场文书
2014机关党员干部“正风肃纪”思想汇报
2014/09/15 职场文书
2014年党员自我剖析材料
2014/10/07 职场文书
少先队工作总结2015
2015/05/13 职场文书
工程款催款函
2015/06/24 职场文书
几款流行的HTML5 UI框架比较(小结)
2021/04/08 HTML / CSS