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的Django框架与认证系统整合的方法
Jul 24 Python
Linux RedHat下安装Python2.7开发环境
May 20 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
Jul 24 Python
Sublime开发python程序的示例代码
Jan 24 Python
Python计算机视觉里的IOU计算实例
Jan 17 Python
150行python代码实现贪吃蛇游戏
Apr 24 Python
Python PyQt5模块实现窗口GUI界面代码实例
May 12 Python
Python如何实现后端自定义认证并实现多条件登陆
Jun 22 Python
学python最电脑配置有要求么
Jul 05 Python
Python做图像处理及视频音频文件分离和合成功能
Nov 24 Python
Python3使用tesserocr识别字母数字验证码的实现
Jan 29 Python
Python中np.random.randint()参数详解及用法实例
Sep 23 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
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
2007/04/12 PHP
php一个找二层目录的小东东
2012/08/02 PHP
PHP封装的字符串加密解密函数
2015/12/18 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
2019/07/24 PHP
ExtJS 2.0实用简明教程 之Border区域布局
2009/04/29 Javascript
Mootools 1.2 手风琴(Accordion)教程
2009/09/15 Javascript
js控制的回到页面顶端goTop的代码实现
2013/03/20 Javascript
js jq 单击和双击区分示例介绍
2013/11/05 Javascript
innerText 使用示例
2014/01/23 Javascript
javascript如何判断输入的url是否正确
2014/04/11 Javascript
javascript 判断两个日期之差的示例代码
2015/09/05 Javascript
浅析Javascript匿名函数与自执行函数
2016/02/06 Javascript
JavaScript性能优化之函数节流(throttle)与函数去抖(debounce)
2016/08/11 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
2016/08/11 Javascript
jQuery序列化后的表单值转换成Json
2017/06/16 jQuery
详解Vuex中mapState的具体用法
2017/09/28 Javascript
Nodejs中crypto模块的安全知识讲解
2018/01/03 NodeJs
jQuery中图片展示插件highslide.js的简单dom
2018/04/22 jQuery
JavaScript变量作用域及内存问题实例分析
2019/06/10 Javascript
微信小程序利用Canvas绘制图片和竖排文字详解
2019/06/25 Javascript
VUE实现移动端列表筛选功能
2019/08/23 Javascript
解决在layer.open中使用时间控件laydate失败的问题
2019/09/11 Javascript
Python将xml和xsl转换为html的方法
2015/03/10 Python
使用PyTorch训练一个图像分类器实例
2020/01/08 Python
Django路由层URLconf作用及原理解析
2020/09/24 Python
米兰网婚纱礼服法国网上商店:Milanoo法国
2016/08/20 全球购物
StubHub哥伦比亚:购买和出售您的门票
2016/10/20 全球购物
英国高档百货连锁店:John Lewis
2017/11/20 全球购物
PHP如何删除一个Cookie值
2012/11/15 面试题
计算机应用专业推荐信
2013/11/13 职场文书
《桥》教学反思
2014/04/09 职场文书
酒店前台接待岗位职责
2015/04/02 职场文书
小学校本教研总结
2015/08/13 职场文书
幼儿园教师暑期培训心得体会
2016/01/09 职场文书
Mysql中 unique列插入重复值该怎么解决呢
2021/05/26 MySQL