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网络编程学习笔记(六):Web客户端访问
Jun 09 Python
简述Python中的进程、线程、协程
Mar 18 Python
python奇偶行分开存储实现代码
Mar 19 Python
python 按照固定长度分割字符串的方法小结
Apr 30 Python
python requests爬取高德地图数据的实例
Nov 10 Python
uwsgi+nginx部署Django项目操作示例
Dec 04 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
Dec 12 Python
Python语言异常处理测试过程解析
Jan 08 Python
使用Django和Postgres进行全文搜索的实例代码
Feb 13 Python
python中列表的含义及用法
May 26 Python
Python调用shell cmd方法代码示例解析
Jun 18 Python
python中Pexpect的工作流程实例讲解
Mar 02 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中获取url与物理路径的总结
2013/06/21 PHP
PHP数据库链接类(PDO+Access)实例分享
2013/12/05 PHP
ThinkPHP实现多数据库连接的解决方法
2014/07/01 PHP
PHP中模拟处理HTTP PUT请求的例子
2014/07/22 PHP
变量在 PHP7 内部的实现(二)
2015/12/21 PHP
php简单实现多维数组排序的方法
2016/09/30 PHP
JS图片根据鼠标滚动延时加载的实例代码
2013/07/13 Javascript
js获取通过ajax返回的map型的JSONArray的方法
2014/01/09 Javascript
微信小程序(应用号)开发新闻客户端实例
2016/10/24 Javascript
jquery-mobile表单的创建方法详解
2016/11/23 Javascript
详解Weex基于Vue2.0开发模板搭建
2017/03/20 Javascript
Bootstrap缩略图的创建方法
2017/03/22 Javascript
详谈javascript精度问题与调整
2017/07/08 Javascript
使用Vue开发一个实时性时间转换指令
2018/01/17 Javascript
如何解决.vue文件url引用文件的问题
2019/01/18 Javascript
ES6 更易于继承的类语法的使用
2019/02/11 Javascript
Vue 中获取当前时间并实时刷新的实现代码
2020/05/12 Javascript
VueJS实现用户管理系统
2020/05/29 Javascript
vue.js实现照片放大功能
2020/06/23 Javascript
写了个监控nginx进程的Python脚本
2012/05/10 Python
有关wxpython pyqt内存占用问题分析
2014/06/09 Python
动态规划之矩阵连乘问题Python实现方法
2017/11/27 Python
Python实现屏幕截图的两种方式
2018/02/05 Python
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
2018/04/06 Python
pandas.dataframe中根据条件获取元素所在的位置方法(索引)
2018/06/07 Python
使用Python对微信好友进行数据分析
2018/06/27 Python
python交互模式基础知识点学习
2020/06/18 Python
Python编写万花尺图案实例
2021/01/03 Python
贝玲妃英国官网:Benefit英国
2018/02/03 全球购物
VC++笔试题
2014/10/13 面试题
如何找出EMP表里面SALARY第N高的employee
2013/12/05 面试题
青年志愿者事迹材料
2014/02/07 职场文书
贺卡寄语大全
2014/04/11 职场文书
主持人开幕词
2015/01/29 职场文书
教师理论学习心得体会
2016/01/21 职场文书
springboot应用服务启动事件的监听实现
2022/04/06 Java/Android