1. http 基于 tcp/ip 协议
2. 百度是通用性爬虫
3. http 返回的状态码代表成功的是 200
4. 网页编码使用的函数式 encode()
5. 解码使用的函数式是 decode()
6. 爬虫又叫 网页蜘蛛、网络机器人
7. 什么是爬虫并解释其概念?
(1) 爬虫又叫网页蜘蛛,是模拟人操作客户端向服务器发起请求,抓取数据的自动化程序或脚本
(2) 说明:
① 模拟:用爬虫程序伪装出人的行为,避免被服务器识别为爬虫程序
② 客户端:浏览器、app 都可以实现人与服务器之间的交互行为,应用客户端从服务器获取数据
③ 自动化:数据量较小可以人工获取,但往往在公司里爬取的数据量在百万条、千万条级别,所以要程序自动化获取数据
8. http 协议与 https 协议的区别
1\. http 协议需要到 ca 申请证书,一般免费证书较少,因而需要一定费用
2. http 是超文本传输协议,信息是明文传输,https 则是具有安全性的 ssl加密传输协议
3. http 和 https 使用的是完全不同的连接方式,用的端口不一样,前者是 80,后者是 443
4. http 的连接很简单,是无状态的,https 协议是有 ssl +http 协议构建的可进行加密传输、身份认证的网络协议,比 http 协议安全
10. 什么是 robots 协议?阐述 robots 协议与 爬虫的关系?
(1) Robots 协议是 约定哪些内容允许哪些爬虫抓取
(2) 通用爬虫无需遵守 robots 协议,而我们写的聚焦爬虫则需要遵守
11. 网页编码有 utf-8、gbk、gb2312
12. 默认端口信息:
(1) Mysql:3306
(2) Ssh:22
(3) MongoDB:27017
(4) Redis:6379
(5) https:443
(6) http:80
13. Requests 模块发送 get 请求的参数:
(1) Url
(2) Headers
(3) Params
(4) Proxies
14. Requests 模块发送 post 请求的参数:
(1) Url
(2) Headers
(3) Data
(4) Proxies
15. 简述聚焦爬虫的设计思路
(1) 确定 url,模拟浏览器向服务器发送请求
(2) 获取响应数据并进行数据解析
(3) 将目标数据持久化到本地
16. 简述爬虫的分类及各类爬虫的概念
(1) 通用爬虫:爬取网页数据,为搜索引擎提供检索服务
(2) 聚焦爬虫:针对某一领域爬取特定数据的爬虫
① 聚焦爬虫又分为深度爬虫和增量式爬虫
17. 请写出 8 中常用的请求方法
(1) Get
(2) Post
(3) Put
(4) Delete
(5) Trace
(6) Head
(7) Connect
(8) Option
18. 列举反爬虫机制(至少 8 种)
1 2 3 4 5 6 7 8 9 |
|
19. Requests 发送请求时携带 headers 参数及作用(至少写 3 点)
1 2 3 4 |
|
20. Requests 向服务器发送文件时,文件的打开模式为 wb
21. Requests 模块那个类自动封装 cookie : session
22. 前端页面由 html、css、JavaScript 等三部分组成
23. 请列举三个可以实现网页请求的库
1 2 3 |
|
24. 简述 html、css、JavaScript 的作用
(1) Html:定义网页骨架
(2) Css:定义网页样式
(3) JavaScript:定义网页行为
25. 针对 requests 请求的响应对象,如何获取其文本形式,二进制形式及 json数据
(1) Res.text:获取 html 源码
(2) Res.content:获取二进制流,多用于图片、视频下载等
(3) Res.json():获取 json 数据,多用 ajax 请求
26. 请列举三种数据持久化的方式
(1) Csv
(2) Json
(3) Mysql
(4) Mongodb
(5) Redi
27. 正则元字符中“.”代表 匹配 任意字符,换行符除外
28. Responose.text,response.content,res.json 分别获取响应数据的什么形式
(1) Response.text:文本形式
(2) Response.json():json 数据
(3) Response.content:二进制形式
29. 正则表达式中 (.*) 和 (.*?) 匹配区别
(1