python3网络爬虫开发实战 第二章 知识点总结

第二章 爬虫基础

HTTP基本原理
1、HTTP协议是用于从网络传输超文本数据到本地浏览器的传送协议,而HTTPS即在HTTP下加入SSL层,是HTTP的安全版
2、浏览器向网站所在的服务器发送了一个请求,网站服务器接收到这个请求后进行处理和解析,然后返回对应的响应,接着传回给浏览器
3、Request URL为请求的URL,Request Method为请求的方法,Status Code为响应状态码,Remote Address为远程服务器的地址和端口,Referrer Policy为Referrer判别策略
4、请求由客户端向服务端发出,可分为4个部分:请求方法(Request Method)、请求的网址(Request URL)、请求头(Request Headers)、请求体(Request Body)
5、请求方法常见的有两种:GET和POST。
GET请求的参数包含在URL里面,数据可以在URL中看到,而POST请求的URL不会包含这些数据,数据都是通过表单形式传输的,会包含在请求体中。GET请求提交的数据最多只有1024字节,而POST方式没有限制。
6、请求头中的Cookies主要功能是维持当前访问会话
7、User-Agent可以使服务器识别客户使用的操作系统及版本,浏览器及版本。在做爬虫时加上此信息,可以伪装为浏览器
8、在爬虫中,如果要构造POST请求,需要使用正确的Content-Type,并了解各种请求库的各个参数设置时使用的是哪种Content-Type,不然可能会导致POST提交后无法正常响应。

Content-Type 提交数据的方式
application/x-www-form-urlencoded 表单数据
multipart/form-data 表单文件上传
application/json 序列化JSON数据
text/xml XML数据

9、响应有服务端返回给客户端,可以分为三个部分:响应状态码(Response Status Code)、响应头(Response Headers)和响应体(Response Body)
10、200代表服务器正常响应,404代表页面未找到,500代表服务器内部发生错误。
11、响应的正文数据都在响应体中,比如请求网页时,它的响应体就是网页的HTML代码;请求一张图片时,它的响应体就是图片的二进制数据。我们做爬虫请求网页后,要解析的内容就是响应体。

网页基础
1、网页(人)可分为HTML(骨架)、CSS(皮肤)和JavaScript(肌肉)
2、HTML中不同类型的元素通过不同类型的标签来表示,比如img标签表示图片,video标签表示视频,p标签表示段落,它们之间的布局通常通过布局标签div嵌套组合而成
3、CSS,即层叠样式表。
“层叠” 是指在HTML中引用了数个样式文件,并且样式发生冲突时,浏览器能依据层叠顺序处理。
“样式” 指网页中文字大小、颜色、元素间距、排列等格式。
4、在HTML中,只需要用link标签即可引入写好的CSS文件,这样整个页面就会变得美观优雅
5、JavaScript 实现了一种实时、动态、交互的页面功能,在HTML中通过script标签即可引入
6、HTML定义了网页的内容和结构,CSS描述了网页的布局,JavaScript定义了网页的行为
7、在网页头head标签内,指定了网页的编码为UTF-8
8、CSS各个选择器之间加上空格分隔开便可以代表嵌套关系,如#container .wrapper p则代表先选择id为container的节点,然后选中其内部的class为wrapper的节点,然后再进一步选中其内部的p节点

爬虫的基本原理
1、爬虫就是获取网页并提取和保存信息的自动化程序
2、使用urllib、request等类库提供的数据结构来实现HTTP请求操作,等到响应之后只需要解析数据结构中的Body部分即可得到网页的源代码
3、可以通过正则表达式、网页节点属性、CSS选择器或XPath提供网页信息的库,如Beautiful Soup、pyquery、lxml等来提取网页信息
4、保存数据,可以简单保存为TXT文本或JSON文本,也可以保存到数据库,如MySQL和MongoDB等
5、我们在用urllib或requests抓取网页时,得到的源代码实际和浏览器看到的不一样,是因为引入了JavaScript渲染网页,请求页面不会加载JavaScript文件

会话和Cookies
1、会话和Cookies用于保持HTTP连接状态
会话 在服务端,也就是网站的服务器,用来保存用户的会话信息;
Cookies 在客户端,也可以理解为浏览器端,有了Cookies,浏览器在下次访问网页时会自动附带上它发送给服务器,服务器通过识别Cookies并鉴定出是哪个用户,然后再判断用户是否是登录状态,然后返回对应的响应
2、在爬虫中,有时候处理需要登录才能访问的页面时,我们一般会直接将登录成功后获取的Cookies放在请求头里面直接请求,而不必重新模拟登录
3、关闭浏览器不会导致会话被删除,因此需要服务器为会话设置一个失效时间,当距离客户端上一次使用会话的时间超过这个失效时间时,服务器才会删除会话,以节省存储空间

代理的基本原理
1、代理指的的代理服务器,其功能是代理网络用户去取得网络信息,它是网络信息的中转站
2、在我们正常请求一个网站时,是发送了请求给web服务器,web服务器把响应传回给我们,如果设置了代理服务器,实际上就是在本机和服务器之间搭建了一个桥,此时本机不是直接向web服务器发起请求,而是向代理服务器发出请求,请求会发送给代理服务器,然后由代理服务器再发送给web服务器,接着由代理服务器再把web服务器返回的响应转发给本机--------在这个过程中,web服务器识别出的真实IP就不再是我们本机的IP了,就成功实现了IP伪装,这就是代理的基本原理

你可能感兴趣的:(知识点总结)