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实现Mysql数据库连接池实例详解
Apr 11 Python
Python微信库:itchat的用法详解
Aug 14 Python
通过Python实现自动填写调查问卷
Sep 06 Python
Python数据分析之获取双色球历史信息的方法示例
Feb 03 Python
python实现内存监控系统
Mar 07 Python
Django框架文件上传与自定义图片上传路径、上传文件名操作分析
May 10 Python
Python求两点之间的直线距离(2种实现方法)
Jul 07 Python
python plotly绘制直方图实例详解
Jul 22 Python
Django media static外部访问Django中的图片设置教程
Apr 07 Python
python3通过qq邮箱发送邮件以及附件
May 20 Python
Python如何实现的二分查找算法
May 27 Python
详解Flask前后端分离项目案例
Jul 24 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生成迅雷、快车、旋风等软件的下载链接代码实例
2014/05/12 PHP
php读取csv文件并输出的方法
2015/03/14 PHP
常用的php图片处理类(水印、等比缩放、固定高宽)分享
2015/06/19 PHP
PHP使用逆波兰式计算工资的方法
2015/07/29 PHP
php压缩文件夹最新版
2018/07/18 PHP
javascript:以前写的xmlhttp池,代码
2008/05/18 Javascript
来自国外的30个基于jquery的Web下拉菜单
2012/06/22 Javascript
javascript事件模型实例分析
2015/01/30 Javascript
jquery实现不包含当前项的选择器实例
2015/06/25 Javascript
clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
2015/10/10 Javascript
JavaScript模拟push
2016/03/06 Javascript
详解Backbone.js框架中的模型Model与其集合collection
2016/05/05 Javascript
jQuery实现的选择商品飞入文本框动画效果完整实例
2016/08/10 Javascript
微信小程序 swiper组件轮播图详解及实例
2016/11/16 Javascript
怎样判断jQuery当前元素是隐藏还是显示
2016/11/23 Javascript
JavaScript实现的仿新浪微博原生态输入字数即时检查功能【兼容IE6】
2017/09/26 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
2018/08/28 Javascript
angularjs下ng-repeat点击元素改变样式的实现方法
2018/09/12 Javascript
vue axios请求频繁时取消上一次请求的方法
2018/11/10 Javascript
利用layer实现表单完美验证的方法
2019/09/26 Javascript
Vue element-ui父组件控制子组件的表单校验操作
2020/07/17 Javascript
[03:42]2014DOTA2西雅图国际邀请赛7月9日TOPPLAY
2014/07/09 DOTA
[00:33]2016完美“圣”典风云人物:BurNIng宣传片
2016/12/10 DOTA
python面向对象_详谈类的继承与方法的重载
2017/06/07 Python
python写入已存在的excel数据实例
2018/05/03 Python
Python基于sklearn库的分类算法简单应用示例
2018/07/09 Python
python实现感知器算法(批处理)
2019/01/18 Python
python创建与遍历List二维列表的方法
2019/08/16 Python
美国折扣宠物药房:Total Pet Supply
2018/05/27 全球购物
英国家庭和商业健身器材购物网站:Fitness Options
2018/07/05 全球购物
Ted Baker美国官网:英国时尚品牌
2018/10/29 全球购物
机关作风建设工作总结
2014/10/23 职场文书
求职简历自我评价2015
2015/03/10 职场文书
酒店员工手册范本
2015/05/14 职场文书
python保存大型 .mat 数据文件报错超出 IO 限制的操作
2021/05/10 Python
http通过StreamingHttpResponse完成连续的数据传输长链接方式
2022/02/12 Python