龙空技术网

Python爬虫基础篇:浅谈POST和GET

火星异端 338

前言:

而今兄弟们对“pythonpost爬虫”大致比较关切,同学们都想要学习一些“pythonpost爬虫”的相关文章。那么小编也在网上搜集了一些关于“pythonpost爬虫””的相关内容,希望兄弟们能喜欢,朋友们一起来学习一下吧!

GET和POST是什么

Http协议定义了与服务器交互的最基本的4种方法,分别是GET、POST、PUT、DELETE。其中get和post是爬虫最主要的发送方式(其他两种我从业这么久都没用过)。HTTP中的GET,POST,PUT,DELETE就对应着对网络上的某个资源的查 ,改 ,增 ,删 4个操作,而这个资源就是接受爬虫发出的请求的URL,全称是资源描述符,可以认为一个URL地址来描述一个网络上的资源。即:GET - 从指定的资源请求数据。POST - 向指定的资源提交要被处理的数据。

GET和POST异同

Get和Post在面试中通常会问到,大致区别如下:

(1)post更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中),了解下,get会把你输入的数据作为url的一部分(你每次百度,百度URL都有你搜索的内容,同时被记录在浏览器浏览记录中),那么你肯定不愿意让你的密码在url上面(小时候QQ密码一直是谁谁谁520,小秘密被发现了多尴尬)。

(2)post发送的数据更大(get有url长度限制)。这块对现在可能不太严谨,因为很多老古董浏览器或者服务器对URL有长度限制,现在你肯定看不到了。其实HTTP协议并没有对URL做长度限制

(3)post能发送更多的数据类型(get只能发送ASCII)。

(4)post比get慢 。主要原因是:post在真正接受数据之前会先将请求头发送给服务器进行确认,然后才真正发送数据。这里应该是个重点:三次握手等原理我就不说了(非科班出身自己百度),客户端发送POST请求头给服务器,服务器发现是post,则立即返回100 continue响应,浏览器接收到响应才开始发送数据。所以相对于GET,POST发送了两次数据,但是在现在的网络情况下,这个慢相对于其他的耗时微乎其微了。

(5)post用于修改和写入数据,get一般用于搜索排序和筛选之类的操作(淘宝,百度的搜索查询都是get提交),目的是资源的获取,读取数据 。

最后:我是异端,一个系统传递Python爬虫和JAVA技术的异端工程师,喜欢的可以点个关注。

头条硬要我配图

标签: #pythonpost爬虫 #getpython