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设计模式之解释器模式原理与用法实例分析
Jan 10 Python
Python实现微信小程序支付功能
Jul 25 Python
Python 转换文本编码实现解析
Aug 27 Python
Django中自定义查询对象的具体使用
Oct 13 Python
详解Django CAS 解决方案
Oct 30 Python
Python生成个性签名图片获取GUI过程解析
Dec 16 Python
python列表返回重复数据的下标
Feb 10 Python
python 通过文件夹导入包的操作
Jun 01 Python
浅谈pycharm导入pandas包遇到的问题及解决
Jun 01 Python
Python基于数列实现购物车程序过程详解
Jun 09 Python
Python数据分析之pandas函数详解
Apr 21 Python
在python中读取和写入CSV文件详情
Jun 28 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
如何限制访问者的ip(PHPBB的代码)
2006/10/09 PHP
php foreach 参数强制类型转换的问题
2010/12/10 PHP
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
2013/06/25 PHP
[原创]图片分页查看
2006/08/28 Javascript
为jquery.ui.dialog 增加“自动记住关闭时的位置”的功能
2009/11/24 Javascript
提升你网站水平的jQuery插件集合推荐
2011/04/19 Javascript
javascript学习笔记(十七) 检测浏览器插件代码
2012/06/20 Javascript
jQuery.holdReady()使用方法
2014/05/20 Javascript
AngularJS学习笔记之ng-options指令
2015/06/16 Javascript
node.js微信公众平台开发教程
2016/03/04 Javascript
简单封装js的dom查询实例代码
2016/07/08 Javascript
详解微信小程序开发之下拉刷新 上拉加载
2016/11/24 Javascript
微信小程序 wx:for的使用实例详解
2017/04/27 Javascript
AngularJS 最常用的八种功能(基础知识)
2017/06/26 Javascript
Vue项目中引入外部文件的方法(css、js、less)
2017/07/24 Javascript
前端常见跨域解决方案(全)
2017/09/19 Javascript
详解vue-cli项目中用json-sever搭建mock服务器
2017/11/02 Javascript
Python 代码性能优化技巧分享
2012/08/07 Python
对numpy中数组元素的统一赋值实例
2018/04/04 Python
python 解压pkl文件的方法
2018/10/25 Python
Python 判断奇数偶数的方法
2018/12/20 Python
python实现kmp算法的实例代码
2019/04/03 Python
使用python实现男神女神颜值打分系统(推荐)
2019/10/31 Python
Django之富文本(获取内容,设置内容方式)
2020/05/21 Python
BeautifulSoup中find和find_all的使用详解
2020/12/07 Python
Holiday Inn中国官网:IHG旗下假日酒店预订
2018/04/08 全球购物
英国在线购买马术服装:EQUUS
2019/07/12 全球购物
大学生专业个人学习的自我评价
2013/10/26 职场文书
办理暂住证介绍信
2014/01/11 职场文书
八一建军节部队活动方案
2014/02/04 职场文书
新闻学专业求职信
2014/07/28 职场文书
工作骂脏话检讨书
2014/10/05 职场文书
工作疏忽检讨书500字
2014/10/26 职场文书
制作能在nginx和IIS中使用的ssl证书
2021/06/21 Servers
vite+vue3.0+ts+element-plus快速搭建项目的实现
2021/06/24 Vue.js
python读取mnist数据集方法案例详解
2021/09/04 Python