python爬虫(get、post请求&常见的请求头参数&常见的响应状态码&HTTP请求的交互过程&Chrome分析网站&Session与Cookie&JSON&Ajax)(2)


前言

python学习笔记 (仅供学习使用)


一、常见的请求方式

http协议规定了 浏览器与服务器进行数据交互的过程中必须要选择一种交互的方式
在HTTP协议中,定义了八种请求方式。常见的有get请求与post请求

1.get请求:

一般情况下,只从服务器获取数据下来,
并不会对服务器资源产生任何影响的时候会使用get请求

2.post请求:

向服务器发送数据(登录)、上传文件等,
会对服务器资源产生影响的时候会使用Post请求。

3.其他

但是有的网站和服务器为了做反爬虫机制,也经常会不按常理出牌。
有可能一个应该使用get方法的请求就一定要改成post请求,这个要视情况而定

4.get与post的区别

Get是不安全的,因为在传输过程,数据被放在请求的URL中;
Post的所有操作对用户来说都是不可见的
Get传送的数据量较小,这主要是因为受URL长度限制,不能大于2kb;
Post传送的数据量较大,一般被默认为不受限制
Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集
Get执行效率却比Post方法好。Get是form提交的默认方法

二、常见的请求头参数

1.http协议中,向服务器发送一个请求,数据分为三部分

第一个是把数据放在url中
第二个是把数据放在body中(post请求时)
第三个就是把数据放在head中

2.常见的请求头参数

	user-agent:浏览器名称
	referer:表明当前这个请求是从哪个url过来的
	cookie:http协议是无状态的。也就是同一个人发送了两次请求。
服务器没有能力知道这两个请求是否来自同一个人

三、常见的响应状态码

200:  请求正常
301:永久重定向
404:请求的url在服务器上找不到,换句话说就是请求的url错误
418:发送请求遇到服务器端反爬虫,服务器拒绝响应数据
500:服务器内部错误,可能是服务器出现了bug

四、HTTP请求的交互过程

(1)客户端浏览器向网站所在的服务器发送一个请求
(2)网站服务器接收到这个请求后进行解析、处理,然后返回响应对应的数据给浏览器
(3)浏览器中包含网页的源代码等内容(存在浏览器的缓存中),浏览器再对其进行解析,
最终将结果呈现给用户

五、Chrome分析网站

Elements :可以帮助我们分析网页结构,获取我们想要的数据 

Console控制台 :打印输出网站的一些信息,比如说网站的招聘信息 

Sources相当于一个文件夹一样,加载这个网页所需要的所有的源文件,
除了Elements的源代码之外,还有一些CSS文件、JS文件等。

Network :查看整个网页发送的所有网络请求。
一般我们想要去查看某个请求的信息,都可以到这里面去看

六、Session与Cookie

1.Session

Session代表服务器与浏览器的一次会话过程。
Session是一种服务器端的机制,Session对象用来存储特定用户会话所需的信息。
Session由服务器端生成,保存在服务器的内存、缓存、硬盘或数据库中。

2.Cookie

Cookie是由服务端生成后发送给客户端(通常是浏览),Cookie总是保存在客户端
Cookie的基本原理
(1)创建Cookie
(2)设置存储Cookie
(3)发送Cookie
(4)读取Cookie

七、JSON

JavaScript ObjectNotation,JS对象标记)是一种轻量级的数据交互格式,采用完全独立于编程语言的文本格式来存储和表示数据。
简洁和清晰的层次结构使得JSON成为理想的数据交换语言,易于阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
JSON的数据格式
(1)对象表示为键值对
(2)数据由逗号分隔
(3)花括号保存对象
(4)方括号保存数组
在数据结构上,JSON与Python里的字典非常相似

八、Ajax

Ajax在浏览器与Web服务器之间使用异步数据传输。这样就可以使网页从服务器请求少量的信息,而不是整个页面。
Ajax技术独立于浏览器和平台。
Ajax一般返回的是JSON,直接对Ajax地址进行Post或get,就返回JSON数据了


总结

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周小唁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值