Python爬虫——爬虫简介
1.通讯协议
数据通讯的步骤:
- 1.找到对方的ip
- 2.数据发送到对方指定的应用程序上。
- 3.定义通讯规则。
1.1 ip
- ip:全称Internet Protocol Address,即互联网协议地址,是分配给用户上网使用的网际协议的设备的数字标签。
1.2 端口
- 端口:在执行第二步时,为了区别不同的应用程序,所以给这些网络应用程序都用数字进行了标识。为了方便称呼这些数字,我们称之为"端口"。这里的端口指的是“逻辑端口”。
1.3 通讯协议
- 通讯协议:所谓通讯协议就是指计算机通信网络中计算机之间进行通信所必须共同遵守的规定或规则
- TCP/IP协议:国际组织定义的通用的通信协议
- HTTP:又叫超文本传输协议,它的端口号是80
2.网络模型
2.1 OSI模型
- 开放式系统互联通信参考模型,一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围内互连为网络的标准框架。
| 层次 | 功能 |
|---|---|
| 应用层 | 用户的应用程序和网络之间的接口 |
| 表示层 | 协商数据交换格式,相当公司中简报老板、替老板写信的助理 |
| 会话层 | 允许用户使用简单易记的名称建立连接,相当于公司中收寄信、写信封与拆信封的秘书 |
| 传输层 | 提供终端到终端的可靠连接,相当于公司中跑邮局的送信职员 |
| 网络层 | 使用权数据路由经过大型网络,相当于邮局中的排序工人 |
| 数据链路层 | 决定访问网络介质的方式。在此层将数据分帧,并处理流控制。本层指定拓扑结构并提供硬件寻址,相当于邮局中的装拆箱工人。 |
| 物理层 | 将数据转换为可通过物理介质传送的电子信号 相当于邮局中的搬运工人。 |
2.2 TCP/IP模型
- TCP/IP协议在一定程度上参考了OSI的体系结构,并进行了简化。
| 层次 | 功能 |
|---|---|
| 应用层 | 应用程序间沟通 |
| 传输层 | 主要是提供应用程序间的通信 |
| 网络层 | 主要定义了IP地址格式,从而能够使得不同应用类型的数据在Internet上通畅地传输 |
| 网络接口层 | 负责接收IP数据包并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层 |
2.3 HTTPS
- HTTPS是什么:HTTPS = HTTP +SSL,即在HTTP的基础上加上SSL保护壳,信息的加密过程就是在SSL中完成的
- HTTPS,是以安全为目标的HTTP通道,简单等讲就是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL
- SSL也是一个协议,主要用于web的安全传输协议
3.爬虫简介
3.1 什么是爬虫?
- 简单来说就是代替人去模拟浏览器进行网页操作
3.2 为什么需要爬虫?
- 为其他程序提供数据源 如搜索引擎(百度、Google等)、数据分析、大数据等
3.3 企业获取数据的方式?
- 1.公司自有数据,如员工信息
- 2.第三方平台购买的数据(百度指数、数据堂)
- 3.爬虫爬取的数据
3.4 Python做爬虫的优势
| 编程语言 | 做爬虫特点 |
|---|---|
| PHP | 对多线程、异步支持不太好 |
| Java | 代码量大,代码笨重 |
| C/C++ | 代码量大,难以编写 |
| Python | 支持模块多、代码简洁、开发效率高(scrapy框架) |
3.5 爬虫分类:
| 爬虫分类 | 特点 |
|---|---|
| 通用网络爬虫 | 将互联网上的网页下载到本地数据库,形成一个备份 |
| 聚焦网络爬虫 | 根据既定的目标有选择地抓取某一特定主题内容 |
| 增量式网络爬虫 | 对下载网页采取增量式的更新和只爬行新产生的或者已经发生变化的网页爬虫 |
| 深层网络爬虫 | 指获取那些大部分内容不能通过静态连接获取、隐藏在搜索表单后的,只有用户提交一些关键词才能获取的web网页爬虫 列如:用户登录注册才能访问的网页 |
开始学爬虫了,Come on!