文章目录
1. 通讯协议
1.1 端口
- 进行数据通讯的步骤:
1 找到对方的ip
2 数据要发送到指定的应用程序上
(为了识别指定的网络应用程序,使用了数字对其进行标识,该数据称之为‘’端口‘’或‘’逻辑端口‘’
3 定义通讯规则。通讯规则一般称之为通讯协议
1.2 通讯协议
- 通讯协议,即指计算机之间进行通讯所必须共同遵守的规定或规则
- 国际组织定义的通用的通讯协议称之为‘’TCP/IP协议‘’
- HTTP是超文本传输协议(也是一种通讯协议),HTTP的端口是80
HTTPS的端口是443
2. 网络模型
后期更新了新的模型
HTTP超文本传输协议属于应用层
2.1 HTTPS是什么
- https = http + ssl,https是在http的基础上加上ssl的保护壳,即信息加密的过程是在ssl中完成
- https,是以安全为目标的http通道,https就是http的安全版本,即在http下假如ssl层,
2.2 SSL
- SSL是一个主要用于web的安全传输协议
3. 爬虫的介绍
3.1 什么是爬虫
- 简单来说,即模拟人,对浏览器进行网页操作
3.2 为什么需要爬虫
- 为其他程序提供数据源:如搜索引擎(百度、Google等)、数据分析、大数据等等
3.3 企业获取数据的方式
- 1.公司自有的数据
- 2.第三方平台购买的数据 (百度指数、数据堂)
- 3.爬虫爬取的数据
3.4 爬虫的优势
- PHP : 对多线程、异步支持不太好
- Java : 代码量大,代码笨重
- C/C++ : 代码量大,难以编写
- Python : 支持模块多、代码简介、开发效率高 (scrapy框架)
3.5 爬虫的类型
- 通用网络爬虫:大型搜索引擎(谷歌、百度…)
- 聚焦网络爬虫:有既定目标或有选择的抓取某一特定内容
- 增量式网络爬虫:对下载网页进行增量式的爬取,即只对新产生的或更新部分的内容进行爬取
- 深层网络爬虫:大部分内容不能通过静态链接进行获取的、隐藏在搜索表单后的、只有当用户输入特定的关键字才能进行访问的web页面。例如:当用户输入账号密码才能访问的页面
4.几个概念
4.1 GET和POST
- get,查询参数都会在URL上显示出来。get,从服务获取数据,并且不会对服务器产生影响
- post,查询参数和需要提交数据是隐藏在Form表单里的,不会在URL地址上显示出来。post,会对服务器产生影响,查询的参数不会隐藏
4.2 URL组成部分
- URL: 全球统一资源定位符
- https://new.qq.com/omn/TWF20200/TWF2020032502924000.html
https: 协议
new.qq.com: 主机名,可以将主机理解为一台名叫 news.qq.com 的机器。这台主机在 qq.com 域名下
port 端口号: 80 /new.qq.com 在他的后面有个 :80 可以省略
TWF20200/TWF2020032502924000.html 访问资源的路径 - #anchor: 锚点⽤前端在做⻚⾯定位的
- https://new.qq.com/omn/TWF20200/TWF2020032502924000.html
注意 : 在浏览器请求一个url,浏览器会对这个url进行编码。(除英文字字符、数字和部分标识,其他的全部使用% 加 十六进制码进行编码)
例如 : https://tieba.baidu.com/fie=utf8&kw=%E6%B5%B7%E8%B4%BC%E7%8E%8B&fr=search
%E6%B5%B7%E8%B4%BC%E7%8E%8B = 海贼王
4.3 Uesr-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
Mozilla Firefox:(Gecko内核)
注意:当遇到反爬虫技术时,首先考虑在headers里面添加Uesr-Agent的参数
4.4 refer
- 表明当前这个请求是从哪个url过来的。一般情况下可以用来做反爬的技术
4.5 状态码
200 : 请求成功
301 : 永久重定向(输入某个网址时,会永久自动跳转到另一指定页面。例如:输入,www.jingdong.com会自动跳转到www.jd.com)
302 : 临时重定向
403 : 服务器拒绝请求
404 : 请求失败(服务器无法根据客户端的请求找到资源(网页))
500 : 服务器内部请求
5. 抓包工具
- Elements : 元素网页源代码,提取数据和分析数据(有些数据是经过特殊处理的所以并不是都是准确的)(最终成型的网页代码)
Console : 控制台 (打印信息)
Sources : 信息来源 (整个网站加载的文件)(最原始的网页代码)
NetWork : 网络公作(信息抓包) 能够看到很多的网页请求