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实现的重启关机程序实例
Aug 21 Python
用pickle存储Python的原生对象方法
Apr 28 Python
Python3之文件读写操作的实例讲解
Jan 23 Python
Python基于多线程实现抓取数据存入数据库的方法
Jun 22 Python
75条笑死人的知乎神回复,用60行代码就爬完了
May 06 Python
python列表每个元素同增同减和列表元素去空格的实例
Jul 20 Python
python使用多线程编写tcp客户端程序
Sep 02 Python
django自定义模板标签过程解析
Dec 14 Python
opencv python图像梯度实例详解
Feb 04 Python
python next()和iter()函数原理解析
Feb 07 Python
基于PyTorch的permute和reshape/view的区别介绍
Jun 18 Python
django前端页面下拉选择框默认值设置方式
Aug 09 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 防止单引号,双引号在接受页面转义
2008/07/10 PHP
CI框架AR操作(数组形式)实现插入多条sql数据的方法
2016/05/18 PHP
浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
2016/12/15 PHP
jquery.combobox中文api和例子,修复了上面的小bug
2011/03/28 Javascript
JavaScript清空数组元素的两种方法简单比较
2015/07/10 Javascript
用javascript实现自动输出网页文本
2015/07/30 Javascript
Javascript的表单验证长度
2016/03/16 Javascript
js解决movebox移动问题
2016/03/29 Javascript
微信小程序 wxapp内容组件 icon详细介绍
2016/10/31 Javascript
Bootstrap CSS布局之代码
2016/12/17 Javascript
jQuery对table表格进行增删改查
2020/12/22 Javascript
jQuery实现动态添加、删除按钮及input输入框的方法
2017/04/27 jQuery
nodejs实现简单的gulp打包
2017/12/21 NodeJs
express+mockjs实现模拟后台数据发送功能
2018/01/07 Javascript
使用Jenkins部署React项目的方法步骤
2019/03/11 Javascript
为什么推荐使用JSX开发Vue3
2020/12/28 Vue.js
[37:35]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第二局
2016/02/25 DOTA
python端口扫描系统实现方法
2014/11/19 Python
python模块之re正则表达式详解
2017/02/03 Python
浅述python中深浅拷贝原理
2018/09/18 Python
浅谈Python的list中的选取范围
2018/11/12 Python
Python3.5基础之NumPy模块的使用图文与实例详解
2019/04/24 Python
python3利用Socket实现通信的方法示例
2019/05/06 Python
Python实现清理微信僵尸粉功能示例【基于itchat模块】
2020/05/29 Python
Python API 操作Hadoop hdfs详解
2020/06/06 Python
详解python中GPU版本的opencv常用方法介绍
2020/07/24 Python
详解pandas赋值失败问题解决
2020/11/29 Python
有影响力的品牌之家:Our Social Collective
2019/06/08 全球购物
中学生获奖感言
2014/02/04 职场文书
公开服务承诺制度
2014/03/26 职场文书
大学生社区义工服务心得体会
2016/01/22 职场文书
2019班干部竞选演讲稿范本!
2019/07/08 职场文书
2019最新公司租房合同(例文)
2019/07/18 职场文书
2019安全宣传标语大全
2019/08/14 职场文书
自定义函数实现单词排序并运用于PostgreSQL(实现代码)
2021/04/22 PostgreSQL
pytorch 一行代码查看网络参数总量的实现
2021/05/12 Python