一个NotionNext搭建的博客
数据库系统概论
大数据原理与应用
javaWeb应用开发基础教程
python
毕业设计
大数据技术综合应用
实训-航空数据系统
java面向对象程序设计
数据结构
算法分析与设计
SPARK
Python爬虫大数据采集与挖掘
云计算
概率论与数理统计
数字逻辑
计算机网络
计算机组成原理
linux
操作系统
人工智能导论
数据仓库与数据挖掘
数据可视化
大数据安全与隐私保护
c语言
C++
Web应用架构与协议
应用架构
典型
Client/Server
- 适用静态页面
- Server既是存储器,存放html文件;又是执行机构,处理用户请求
Client/Server/Database
- 数据库服务器
- 通常存在动态脚本,用户请求时Web服务器执行
Web服务器集群
负载均衡设计
虚拟主机
- 基于IP地址的方法:服务器里绑定多个IP,网站绑定在不同网站
- 基于端口的方法:共享一个IP但通过不同端口访问
- 基于主机名:
Web页面类型
内容、结构、表现效果、行为
分为三类:动态页面、静态页面、伪动态页面
动态页面
需要数据库等支持
静态页面
HTML文件形式存在
伪静态页面
静态页面展现,实际上使用动态脚本处理
页面文件组织方式
Robots协议
爬虫协议
规范
结构
- 文件中包含一个或多个记录,每个记录由一个或多个空白行隔开,每个记录由多行组成
- 形式:
field>:<optionalspace><value><optionalspace>
- User-Agent
User-Agent [agent_name]- agent_name=*适用所有爬虫
- Disallow/Allow
Disallow/Allow [url]- 可以是绝对路径、相对路径、部分路径
- 如果没有显示声明Disallow,即允许访问
拓展功能
- 通配符
- 用于Disallow/Allow的url
- ?不是通配符
- *代表任意多个字符(包括0)
- $结束符:至此结束,后面没有任何字符
- 抓取延时
Crawl-delay:[num]- 两次访问网站的最小时间延时,也就是规定了最高请求频率
- 访问时段
Visit-time:[time]-[0500]- time用四位十进制数表示,24制
- 抓取频率
Request-rate:[num]/1m [time]-[time]- time-time一分钟最多num次
- Robots版本号
Robot-version:Version2.0
HTTP协议
版本特性
- HTTP0,9
- 只有GET,只能响应HTML文档
- 不会返回错误码
- HTTP1.0
- 增加POST、HEAD
- 响应多媒体
- 请求头加入Connection:keep alive
- HTTP1.1
- HTTP2
HTTP报文
请求报文
规定报文由起始行、头部、实体构成
- <entity-body>请求体,放内容
响应报文
HTTP头部
- Accept
- Host
- Range
- UserAgent
- Conent-Range
- Content-Type
- Cookie
- Set-Cookie
- Connection
- Content-Length
- Server
- Warning
- Referer
HTTP状态码
1xx信息状态码
2xx成功状态码
- 200
- 202接收尚未处理
3xx重定向状态码
- 301,访问的资源转移位置
- 304,响应报文不含实体的主体
4xx客户端错误状态码
- 400,请求报文含错误
- 401,身份认证失败
- 403,拒绝执行
- 404,无法找到请求资源
5xx服务器端错误状态码
- 500,服务器执行发生错误
- 503,服务器超负载或维护
HTTPS
使用SSL/TLS加密的HTTP协议,保护隐私和完整,实现服务器身份认证
SSL
HTTP与TCP之间的安全协议
- 对称加密:块
- 非对称加密
- 公钥
- 私钥
- TLS:SSL3.0后续版本
SSL握手

状态保持技术
Cookie
服务器生成,客户端保存、读取
Session
服务器生成,服务器端保存、读取
Prev
Web页面及相关技术
Next
普通爬虫页面采集技术与Python实现
Loading...