1 通讯协议
1.1 端⼝
我们想要进⾏数据通讯分⼏步?
- 1 找到对⽅ip
- 2 数据要发送到对⽅指定的应⽤程序上。为了标识这些应⽤程序,所以给这些⽹络应⽤程序都⽤数字进⾏了标识。为了⽅便称呼这个数字,叫做 端⼝。这⾥的端⼝ 我们⼀般都叫做 ‘逻辑端⼝’
- 3 定义通讯规则。这个通讯规则我们⼀般称之为协议
1.2 通讯协议
- 国际组织定义了通⽤的通信协议 TCP/IP协议
- 所谓协议就是指计算机通信⽹络中两台计算机之间进⾏通信所必须共同遵守
的规定或规则 - HTTP⼜叫做超⽂本传输协议(是⼀种通信协议) HTTP 它的端⼝是 80
2 ⽹络模型
后期更新了新的参考模型 TCP/IP参考模型
2.1 HTTPS是什么呢?
- https=http+ssl,顾名思义,https是在http的基础上加上了SSL保护壳,信息的加密过程就是在SSL中完成的
- https,是以安全为⽬标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加⼊SSL层,HTTPS的安全基础是SSL
2.2 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 爬⾍的分类
通⽤⽹络爬⾍ 例如 baidu google yahu
聚焦⽹络爬⾍: 根据既定的⽬标有选择的抓取某⼀特定主题内容
增量式⽹络爬⾍: 指对下载⽹⻚采取增量式的更新和只爬⾏新产⽣的或者已经
发⽣变化的⽹⻚爬⾍
深层⽹络爬⾍: 指那些⼤部分内容不能通过静态链接获取的、隐藏在搜索表单
后的,只有⽤户提交⼀些关键词才能获得的web⻚⾯ 例如 ⽤户登录注册才能
访问的⻚⾯
4 ⼏个概念
4.1 GET和POST
GET : 查询参数都会在URL上显示出来
POST : 查询参数和需要提交数据是隐藏在Form表单⾥的,不会在URL地址上
显示出来
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: 锚点⽤前端在做⻚⾯定位的
- 注意 : 在浏览器请求⼀个url,浏览器会对这个url进⾏⼀个编码。(除英⽂字
⺟、数字和部分标识其他的全部使⽤% 加 ⼗六进制码进⾏编码)
例如 : https://tieba.baidu.com/f?ie=utf-
8&kw=%E6%B5%B7%E8%B4%BC%E7%8E%8B&fr=search
%E6%B5%B7%E8%B4%BC%E7%8E%8B = 海贼王
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
- Mozilla Firefox:(Gecko内核)
4.4 Refer
表明当前这个请求是从哪个url过来的。⼀般情况下可以⽤来做反爬的技术
4.5 状态码
200 : 请求成功
301 : 永久重定向
302 : 临时重定向
403 : 服务器拒绝请求
404 : 请求失败(服务器⽆法根据客户端的请求找到资源(⽹⻚))
500 : 服务器内部请求
5 抓包⼯具
Elements : 元素 ⽹⻚源代码,提取数据和分析数据(有些数据是经过特殊处
理的所以并不是都是准确的)
Console : 控制台 (打印信息)
Sources : 信息来源 (整个⽹站加载的⽂件)
NetWork : ⽹络⼯作(信息抓包) 能够看到很多的⽹⻚请求