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命名空间详解
Aug 18 Python
Python基础教程之异常详解
Jan 10 Python
Python实现Event回调机制的方法
Feb 13 Python
Python中的十大图像处理工具(小结)
Jun 10 Python
Django上使用数据可视化利器Bokeh解析
Jul 31 Python
python定位xpath 节点位置的方法
Aug 27 Python
Python统计文本词汇出现次数的实例代码
Feb 27 Python
Python pip install如何修改默认下载路径
Apr 29 Python
Django通过json格式收集主机信息
May 29 Python
Python同时处理多个异常的方法
Jul 28 Python
Django xadmin安装及使用详解
Oct 26 Python
Django 实现jwt认证的示例
Apr 30 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 str_replace的替换漏洞
2008/03/15 PHP
php下批量挂马和批量清马代码
2011/02/27 PHP
Centos下升级php5.2到php5.4全记录(编译安装)
2015/04/03 PHP
深入理解PHP内核(二)之SAPI探究
2015/11/10 PHP
PHP单链表的实现代码
2016/07/05 PHP
php输出形式实例整理
2020/05/05 PHP
jquery下将选择的checkbox的id组成字符串的方法
2010/11/28 Javascript
JS与C#编码解码
2013/12/03 Javascript
jquery如何判断表格同一列不同行input数据是否重复
2014/05/14 Javascript
jquery实现的鼠标下拉滚动置顶效果
2014/07/24 Javascript
JS实现点击复选框将按钮或文本框变为灰色不可用的方法
2015/08/11 Javascript
js实现选中页面文字将其分享到新浪微博
2015/11/05 Javascript
jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)
2015/12/31 Javascript
Bootstrap缩略图的创建方法
2017/03/22 Javascript
layer扩展打开/关闭动画的方法
2019/09/23 Javascript
浅谈TypeScript 用 Webpack/ts-node 运行的配置记录
2019/10/11 Javascript
解决antd Form 表单校验方法无响应的问题
2020/10/27 Javascript
python中argparse模块用法实例详解
2015/06/03 Python
VSCode下好用的Python插件及配置
2018/04/06 Python
解决Python一行输出不显示的问题
2018/12/03 Python
浅谈python新式类和旧式类区别
2019/04/26 Python
用django设置session过期时间的方法解析
2019/08/05 Python
python 画出使用分类器得到的决策边界
2019/08/21 Python
基于keras 模型、结构、权重保存的实现
2020/01/24 Python
Python实现捕获异常发生的文件和具体行数
2020/04/25 Python
HTML5新特性之用SVG绘制微信logo
2016/02/03 HTML / CSS
澳大利亚Mocha官方网站:包、钱包、珠宝和配饰
2019/07/18 全球购物
初中生自我评价
2014/02/01 职场文书
党建目标管理责任书
2014/07/25 职场文书
农业项目建议书
2014/08/25 职场文书
房屋租赁授权委托书范本
2014/09/20 职场文书
领导班子四风对照检查材料范文
2014/09/27 职场文书
信息合作协议书
2014/10/09 职场文书
使用qt quick-ListView仿微信好友列表和聊天列表的示例代码
2021/06/13 Python
Android开发之WECHAT微信小程序路由跳转的两种形式
2022/04/12 Java/Android
go goth封装第三方认证库示例详解
2022/08/14 Golang