放荡的人生|一节课教你用 python 搞定图片爬虫
—— 网站上看到了大量好看的图片再也不用右键另存为了
针对人群:
- 对 python 感兴趣的零基础的童靴~
- 有一定基础想深入了解 python 的童靴~
- 网络爬虫的本质
- http 协议
- requests 库
认识网络爬虫的本质 , 掌握爬虫的基本开发流程 , 了解互联网数据传输的基本原理 。
理论知识理论指导实践 , 知其然要知其所以然 , 我们先来学习必备的理论知识 。
什么是爬虫网络爬虫也叫网络蜘蛛 , 它特指一类自动批量下载网络资源的程序 , 这是一个比较口语化的定义 。 更加专业和全面的定义是:网络爬虫是伪装成客户端与服务端进行数据交互的程序 。
口语化的定义相信大家都能理解 , 不能理解的童靴请自觉面壁!
但是后面的客户端 , 服务端肯定有童靴不理解了 , 这就涉及下一个概念了 。
应用架构商业应用推动了互联网的飞速发展 , 目前几乎所有的商业应用都是基于互联网的 , 它们一般采用 c/s 架构 , b/s 架构或 m/s 架构 。
- c/s 即 client server 客户端 服务端
- b/s 即 browser server 浏览器 服务端
- m/s 即 mobile server 移动端 服务端
为客户端提供服务支持的 , 运行在服务厂商服务器中的程序叫服务端 。
A 用户在 QQ 中给 B 用户发送一条信息的过程是:
A 发送的信息首先发送到服务器 , 服务器再将这个信息发送给 B 接收 。
特别的 , 当客户端是浏览器时 , 我们单独作为一种架构叫做 b/s 架构 , 例如各种网站;
当客户端是移动端上的 APP 时 , 我们单独作为一种架构叫做 m/s 架构 , 例如各种手机 APP 。
所以:本质上 b/s,m/s 也是 c/s 的一种!
那客户端和服务端是如何进行通信的呢?(网络通信涉及物理层和应用层 , 我们这里讨论应用层!)
不同的客户端和不同服务端进行数据交互 , 为了统一大家制定了各种传输协议 。
最开始每个团队设计的客户端和服务端之间的数据方式都不一样 , 为了提高开发效率和资源利用大家统一制定了各种应用传输协议 。
例如:
1、http 超文本传输协议
2、ftp 文件传输协议
3、smtp 电子邮件传输协议
因为大多数爬虫都是爬取的网页中的信息 , 所以我们今天主要了解 HTTP 协议 。
HTTP协议http 协议有厚厚一本书 , 今天我们讲主要流程 , 感兴趣的童靴听完课后就可以去收集资料钻研啦 。
一个基于 http 协议的数据传输分为 2 个部分 , 请求和响应 。
客户端向服务端发送一个 http 请求 , 服务端收到这个请求后根据请求进行处理 , 然后将结果以 http 响应的形式返回给客户端 。
HTTP请求
一个完整的 HTTP 请求报文包含:请求行 , 请求头 , 空行和请求数据 。
下图给出了请求报文的一般格式 。
1.0 定义了三种请求方法:GET , POST 和 HEAD 方法
推荐阅读
- ZAKER生活|富人生活难以想象,北京豪宅保安:天天能见范冰冰
- 中国网教育|“错换人生28年”当事人向医院索赔273万,案件将于下周开庭
- #童小悠#“真言NEWS”风乍起 合当奋意向人生
- 音乐汪|三个唐僧三种人生,有的娶500亿富婆,有的只能四处奔波谋生
- 经典人生故事|Ppgod得到英雄联盟官方认可!你们要来世界赛了吗
- 穿搭|有种“人生赢家”叫张嘉倪,穿梦幻白裙秀长腿,这才叫辣妈
- 环球网|特朗普打击TikTok波及美国人生计 数千名英语老师忧心忡忡
- 喝撒哈拉甜茶,品人生起伏
- [爱情]无论你遇见谁,别伤害,别欺骗
- 扬子晚报-紫牛新闻|“天才少女”10岁考大专如今已毕业,她自己喜欢这样的人生吗?
