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使用7z解压软件备份文件脚本分享
Feb 21 Python
python通过正则查找微博@(at)用户的方法
Mar 13 Python
Python的Flask框架与数据库连接的教程
Apr 20 Python
Python素数检测实例分析
Jun 15 Python
Python实现屏幕截图的代码及函数详解
Oct 01 Python
关于Python中异常(Exception)的汇总
Jan 18 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
Jul 06 Python
Python中scatter函数参数及用法详解
Nov 08 Python
为什么入门大数据选择Python而不是Java?
Mar 07 Python
使用python的pandas库读取csv文件保存至mysql数据库
Aug 20 Python
Python 运行.py文件和交互式运行代码的区别详解
Jul 02 Python
python爬虫爬取监控教务系统的思路详解
Jan 08 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/04/22 PHP
PHP扩展CURL的用法详解
2014/06/20 PHP
CodeIgniter生成静态页的方法
2016/05/17 PHP
如何修改Laravel中url()函数生成URL的根地址
2017/08/11 PHP
php使用自带dom扩展进行元素匹配的原理解析
2020/05/29 PHP
Javascript中的常见排序算法
2007/03/27 Javascript
js判断是否为ie的方法小结
2014/01/13 Javascript
node.js入门教程迷你书、node.js入门web应用开发完全示例
2014/04/06 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
node.js中的path.isAbsolute方法使用说明
2014/12/08 Javascript
NodeJS Web应用监听sock文件实例
2015/02/18 NodeJs
javascript中new关键字详解
2015/12/14 Javascript
浅谈javascript 函数表达式和函数声明的区别
2016/01/05 Javascript
jquery表单验证插件formValidator使用方法
2016/04/01 Javascript
非常漂亮的相册集 使用jquery制作相册集
2016/04/28 Javascript
AngularJS基础 ng-click 指令示例代码
2016/08/01 Javascript
javascript 判断页面访问方式电脑或者移动端
2016/09/19 Javascript
JS实现控制图片显示大小的方法【图片等比例缩放功能】
2017/02/18 Javascript
jsonp跨域请求实现示例
2017/03/13 Javascript
bootstrap table服务端实现分页效果
2017/08/10 Javascript
JS通过位运算实现权限加解密
2018/08/14 Javascript
layUI的验证码功能及校验实例
2019/10/25 Javascript
JavaScript实现缓动动画
2020/11/25 Javascript
vue+elementUI动态增加表单项并添加验证的代码详解
2020/12/17 Vue.js
[01:24:09]Ti4 冒泡赛第二轮DK vs C9 1
2014/07/14 DOTA
python网络编程学习笔记(三):socket网络服务器
2014/06/09 Python
Python实现更改图片尺寸大小的方法(基于Pillow包)
2016/09/19 Python
利用标准库fractions模块让Python支持分数类型的方法详解
2017/08/11 Python
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
2018/02/10 Python
解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
2019/01/29 Python
使用Python正则表达式操作文本数据的方法
2019/05/14 Python
2014大学生全国两会学习心得体会
2014/03/13 职场文书
小学优秀学生评语
2014/12/29 职场文书
爱国教育主题班会
2015/08/14 职场文书
三下乡活动心得体会
2016/01/23 职场文书
对Keras自带Loss Function的深入研究
2021/05/25 Python