纯小白Python爬取东方财富网研报内容并通过机器学习的SVM模型进行文本分析(三)

    xiaoxiao2025-02-11  17

    一、http协议的三次握手和四次挥手 http:超文本传输协议,在客户端与服务端之间传输信息,客户端发送html,css给服务器,服务器返回源码给客户端; https:是一种更安全的传输协议,在协议上加了一层密码,不容易被黑客攻击,更加安全。多用于支付页面,政府机构页面,公安局页面,银行……; 当在浏览器输入url,向服务器发送请求,浏览器都做了些什么? http事务:从浏览器传给服务器,服务器反回内容给浏览器,这一个完整的过程就叫做http的一个事务。 1、http请求阶段: (1)浏览器把url发送给DNS服务器; (2)DNS服务器会根据IP找到对应的服务器; (3)服务器接收到请求,客户端和服务器已经产生了连接; 2、http响应阶段: (4)服务器接收到请求后,根据路径,找到相应的项目; (5)服务器找到之后,服务器立即把一些响应信息放在响应头中,通过http发送给客户端,同时进行数据整理; (6)把整理出来的数据,通过http发送给客户端,直到客户端接收完毕; 3、浏览器渲染阶段: (7)浏览器拿到从服务器传输过来的数据文件; (8)先遍历HTML,形成DOM树; (9)代码从上到下解析,形成CSS树; (10)DOM树和CSS树重新组成render树; (11)浏览器进行描绘和渲染; http的三次握手和四次挥手: 浏览器在给服,务器传输数据之前,有三次握手,握手成功之后,才可以传输数据 1、浏览器需要先发送SYN码,客户端请求和服务器建立连接; 2、服务器接收到SYN码,再发送给客户端SYN+ACK码,我可以建立连接; 3、客户端接收到ACK码,验证这个ACK是否正确,如果正确则客户端和服务端则建立起数据连接;双方的数据发送通道都将开启; 四次挥手: 1、当客户端无数据要传输了,会发送FIN码告诉服务器,我发送完毕了; 2、当服务端接收完毕后,告诉客户端ACK码,告诉客户端你可以把数据通道关闭了; 3、当服务器发送完毕之后,也会发送FIN码,告诉浏览器,数据发送完毕; 4、当客户端接收完毕 之后,同样发送ACK码,告诉服务器,数据接收完毕,你可以关闭; 三次握手和四次挥手的好处:确保数据的安全和完整 二、编码 网上关于编码有很多错误的介绍,很容易误导人,我这里列出自己被坑过无数次总结出来的。 https://www.zhihu.com/question/31833164/answer/381137073 这个网站里有关于编码的前世今生的简介,可以看看,但是具体操作还是很让人费解,看完上面的会对编码有个基本了解,Python中的应用请看我下面的内容 1、简单一句话,用什么编码就要用什么来解码,python3默认用utf-8编码与解码,windows默认用gbk编码与解码 2、Python3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区别。文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。Python3不会以任意隐式的方式混用str和bytes,正是这使得两者的区分特别清晰。你不能拼接字符串和字节包,也无法在字节包里搜索字符串(反之亦然),也不能将字符串传入参数为字节包的函数(反之亦然)。这是件好事。

    3、 bytes.decode(encoding=“utf-8”, errors=“strict”) str.encode(encoding=“utf-8”, errors=“strict”) encoding规定解码方式。bytes数据或者str数据是由什么编码方式编码的,该函数encoding参数就必须用相应解码方式,这样才能返回正确字符串。解码后的字符串自动转为unicode编码方式 举个例子: bytes.decode(encoding=“gbk”) 将二进制用gbk方式解码为utf-8,python可识别了。

    最新回复(0)