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 self,cls,decorator的理解
Jul 13 Python
使用Python下载Bing图片(代码)
Nov 07 Python
编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
Jan 20 Python
Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
Apr 12 Python
Python进阶篇之字典操作总结
Nov 16 Python
Python连接数据库学习之DB-API详解
Feb 07 Python
Python将图片转换为字符画的方法
Jun 16 Python
python使用response.read()接收json数据的实例
Dec 19 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
Jun 26 Python
win10下python2和python3共存问题解决方法
Dec 23 Python
python 微信好友特征数据分析及可视化
Jan 07 Python
Python连续赋值需要注意的一些问题
Jun 03 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缩略图等比例无损压缩,可填充空白区域补充色
2011/06/10 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
2014/06/26 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
2016/05/16 PHP
浅谈php中urlencode与rawurlencode的区别
2016/09/05 PHP
php使用函数pathinfo()、parse_url()和basename()解析URL
2016/11/25 PHP
php使用scandir()函数扫描指定目录下所有文件示例
2019/06/08 PHP
Javascript UrlDecode函数代码
2010/01/09 Javascript
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
2010/06/25 Javascript
SlideView 图片滑动(扩展/收缩)展示效果
2010/08/01 Javascript
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
js数组常见操作及数组与字符串相互转化实例详解
2015/11/10 Javascript
JS实现的点击表头排序功能示例
2017/03/27 Javascript
一次围绕setTimeout的前端面试经验分享
2017/06/15 Javascript
基于node.js express mvc轻量级框架实践
2017/09/14 Javascript
利用Angular2 + Ionic3开发IOS应用实例教程
2018/01/15 Javascript
layui表格checkbox选择全选样式及功能的实例
2018/03/07 Javascript
vue中的mescroll搜索运用及各种填坑处理
2019/10/30 Javascript
vue在线动态切换主题色方案
2020/03/26 Javascript
Jquery 获取相同NAME 或者id删除行操作
2020/08/24 jQuery
通过实例解析jQ Ajax操作相关原理
2020/09/23 Javascript
antd配置config-overrides.js文件的操作
2020/10/31 Javascript
[03:30]DOTA2完美“圣”典精彩集锦
2016/12/27 DOTA
利用django-suit模板添加自定义的菜单、页面及设置访问权限
2018/07/13 Python
基于Python实现用户管理系统
2019/02/26 Python
Django框架安装方法图文详解
2019/11/04 Python
From CSV to SQLite3 by python 导入csv到sqlite实例
2020/02/14 Python
使用python求解二次规划的问题
2020/02/29 Python
Python生成并下载文件后端代码实例
2020/08/31 Python
基于PyInstaller各参数的含义说明
2021/03/04 Python
CSS3实现可爱的小黄人动画
2016/07/11 HTML / CSS
使用phonegap创建联系人的实现方法
2017/03/30 HTML / CSS
文职个人求职信范文
2013/09/23 职场文书
家具促销活动方案
2014/02/16 职场文书
故宫英文导游词
2015/01/31 职场文书
幼儿园中秋节活动总结
2015/03/23 职场文书
工作一年自我鉴定
2019/06/20 职场文书