1、 什么是爬虫?【考核知识点:爬虫概念】
爬虫又叫网页蜘蛛,是模拟人操作客户端向服务器发起请求,抓取数据
的自动化程序或脚本。
2、 爬虫的分类,并解释其概念?【考核知识点:爬虫分类】
爬虫根据其作用及服务的主体不同可分为两类: 通用爬虫 、聚焦爬虫
通用爬虫是用来获取数据为搜索引擎 提供检索服务的爬虫程序, 所以搜索引擎背后都有一个强大的通用爬虫.
聚焦爬虫是针对特定领域抓取特定数据的爬虫程序.
3、 robots是什么?【考核知识点:robots概念】
obots协议是规定一个网站不允许哪些爬虫爬取哪些页面的一个约定。
robots协议可以通过 网站首页/robots.txt 进行查看
4、 OSI七层模型是什么?【考核知识点:网络模型】
应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
5、 什么是HTTP协议?【考核知识点:HTTP概念】
超文本传输协议是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。
6、 什么是HTTPS协议?【考核知识点:HTTPS概念】
HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在HTTP 的基础下加入SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面。
7、 HTTP和HTTPS的区别?【考核知识点:HTTP与HTTPS的区别】
(1).https协议需要到ca申请证书,因而需要一定费用, 现阶段国内各大云厂商也提供免费的证书。
(2).http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
(3).http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
(4).http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全.(尽管HTTPS安全, 但是传输的效率没有http高)
8、 简述TCP协议?【考核知识点:TCP协议概念】
TCP协议是一种面向连接的, 可靠的, 基于字节流的传输层通信协议。
9、 TCP协议的四大特点?【考核知识点:TCP协议特点】
1).有序性: 数据包编号, 判断数据包的正确次序
2).正确性: 使用checksum函数检查数据包是否损坏, 发送接收时都会计算校验和
3).可靠性: 发送端有超时重发, 并有确认机制识别错误和数据的丢失
4).可控性: 滑动窗口协议与拥塞控制算法控制数据包的发送速度
10、 简述UDP协议并概述其特点?【考核知识点:UDP协议概念】
用户数据报协议, 面向无连接的传输层协议, 传输不可靠. 其具有以下特点:
1).无连接, 数据可能丢失或损坏
2).报文小, 传输速度快
3).吞吐量大的网络传输, 可以在一定程度上承受数据丢失
11、 简单描述网络请求的过程?【考核知识点:网络请求】
客户端, 通常指web浏览器或APP向服务器发起请求, 服务器接收到请求进行处理, 并向客户端返回响应。
12、 Requests 模块发送 get 请求的参数?【考核知识点:requests发送get请求】
(1) Url
(2) Headers
(3) Params
(4) Proxies
13、 Requests 模块发送 post 请求的参数?【考核知识点:requests发送post请求】
(1) Url
(2) Headers
(3) Data
(4) Proxies
14、 请写出常用的请求方式(至少6种)?【考核知识点:常用请求】
GET: 请求页面, 并返回页面内容 # 重点
POST: 用于提交表单数据或上传文件, 数据包含在请求体中 # 重点
PUT: 从客户端向服务器传送的数据取代指定文档中的内容
DELETE: 请求服务器删除指定的页面
HEAD: 类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报头
CONNECT: 把服务器当作跳板,让服务器代替客户端访问其他网页
OPTIONS: 允许客户端查看服务器的性能
TRACE: 回显服务器收到的请求,主要用于测试或诊断
15、 什么是HTTP协议?【考核知识点:HTTP概念】
超文本传输协议(英文:****H*yper*T****ext ****T****ransfer ****P****rotocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。
16、 什么是URL?【考核知识点:URL概念】
URL是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。
17、 请列举几个常用的爬虫请求库?【考核知识点:爬虫库】
requests模块、urllib模块、aiohttp模块
18、 列举反爬虫机制(至少8种)?【考核知识点:反爬虫机制】
(1) UA 检测
(2) Robots 协议
(3) 验证码
(4) IP 封禁
(5) 账号封禁
(6) 动态数据加载
(7) Js 数据加密
(8) 隐藏参数
(9) 字体反爬
19、 简述聚焦爬虫的设计思路?【考核知识点:聚焦爬虫】
(1) 确定 url,模拟浏览器向服务器发送请求
(2) 获取响应数据并进行数据解析
(3) 将目标数据持久化到本地
20、 常见的响应状态码(说出5个以上)?【考核知识点:状态码】
200系列:
200 成功 服务器已成功处理了请求 # 重点1
300系列:
301 永久移动 请求的网页已永久移动到新位置,即永久重定向 # 重点
302 临时移动 请求的网页暂时跳转到其他页面