16. 网络模型与爬虫介绍

1. 通讯协议

1.1 端口

对数据进行通讯可以分为以下几个步骤:

  • 1 . 找到对方的ip
  • 2 . 将数据发送到对方指定的应用程序上,标识这些程序,称呼这些数字叫做:端口,又叫做 ‘逻辑端口’
  • 3 . 定义通讯规则为 ‘协议’

1.2 通讯协议

  • 1 . 国际上通用的协议是TCP/IP协议
  • 2 . 协议就是计算机通信系统中两台计算机通讯需要遵守的规则或协议
  • 3 . HTTP协议又叫超文本传输协议,端口号 80

2. 网络模型

2.1 模型简介

  • osi参考模型:应用层-表示层-会话层-传输层-网络层-数据链路层-物理层
  • 正序为数据封包,反序为数据拆包
  • TCP/IP参考模型:应用层-传输层-网际层-主机至网络层

2.2 HTTPS是什么

  • HTTPS=http + ssl ,就是在http协议的基础上加了一层SSL保护层,信息的加密过程就是在SSL中完成的
  • https 就是以安全为目标的HTTP通道,HTTPS的安全基础是SSL

2.3 SSL是什么

  • SSL 也是一个协议主要用于web的安全传输

2.4 http请求与响应

HTTP通信由两部分组成 客户端请求消息 服务端响应消息

  • 1 . 当⽤户在浏览器的地址栏中输⼊⼀个URL并按回⻋键之后,浏览器会向HTTP服务器发送HTTP请求。HTTP请求主要分为“Get”和“Post”两种⽅法。
  • 2 . 在浏览器输入百度网址的时候,浏览器发送一个Request请求去获取网址的html文件,服务器把文件response文件对象返回给浏览器
  • 3 . 浏览器分析response的HTML文件,发现引用了其他文件,就会自动发送request请求获取其他文件
  • 4 . 所有文件都下载完成后,网页会根据HTML语法结构,完整的显示网页

2.5 客户端的HTTP请求

  • URL只是标识资源的位置,HTTP提交获取资源。HTTP请求消息包括以下格式:
  • 请求行,请求头,空行,请求数据
    这是一个典型的HTTP请求示例

2.6 请求方法

  • HTTP 0.9:只有基本的⽂本 GET 功能。
    HTTP 1.0:完善的请求/响应模型,并将协议补充完整,定义了三种请求⽅法:
    GET, POST 和 HEAD⽅法。
    HTTP 1.1:在 1.0 基础上进⾏更新,新增了五种请求⽅法:OPTIONS, PUT,
    DELETE, TRACE 和 CONNECT ⽅法。
    HTTP 2.0(未普及):请求/响应⾸部的定义基本没有改变,只是所有⾸部键
    必须全部⼩写,⽽且请求⾏要独⽴为 :method、:scheme、:host、:path这些
    键值对。

3. 爬虫介绍

3.1 什么是爬虫

  • 爬虫就是代替人去模拟浏览器进行网页操作

3.2 为什么需要爬虫

  • 为其他程序提供数据源,如搜索引擎,数据分析,大数据等

3.3 企业获取数据的方式

  • 公司自有数据
  • 第三方数据平台购买数据
  • 爬虫爬取的数据

3.4 Python做爬虫的优势

  • PHP:对多线程,异步不是很友好
  • Java:代码量大,代码笨重
  • C/C++:代码量大,难以编写
  • Python:支持模块多,语法易于理解,开发效率高

3.5 爬虫分类

  • 通用网络爬虫:例如 百度,谷歌,雅虎
  • 聚焦网络爬虫:根据既定目标有选择的抓取某一特定主题内容
  • 增量式网络爬虫:对下载网页采取增量式更新,只爬行新生产的或已经生产变化的指定内容
  • 深层网络爬虫:大部分内容不能通过静态网页获取,隐藏在搜索表单后的,只有用户提交关键词才能获得的web网页。例如用户注册登录才能访问的网页

4. 五个概念

4.1 get和post

  • get:查询参数都在URL上显示出来
  • post:查询参数和需要提交的数据都是隐藏在form表单后的,不会在URL里显示出来

4.2 URL组成部分

  • URL:统一资源定位符
  • HTTPS:协议
  • port:端口号
  • 在浏览器请求一个URL,浏览器会对URL进行一个编码

4.3 User-Agent 用户代理

  • 作用: 记录用户的浏览器,操作系统等,为了让用户更好的获取HTML页面效果
  • User-Agent:
    Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36
    (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36

4.4 Refer

  • 表明当前这个请求的来源,一般情况下可以用来作反爬技术

4.5 状态码

  • 200:请求成功
  • 301:永久重定向
  • 302:临时重定向
  • 403:服务器拒绝请求
  • 404:请求失败(服务器无法根据客户端的请求找到资源网页)
  • 500:服务器内部请求

5. 抓包工具

  • Element:元素,网页源代码,提取数据,分析数据(有些数据经过特殊处理并不都是准确的)
  • Console:控制台,打印信息
  • Sources:信息来源(整个网站加载的文件)
  • NetWork:网络工作(信息抓包),能够看到很多网页请求
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值