初识爬虫一(请求与响应)
1,首先,我们在了解爬虫之前我们要了解网页请求和响应的过程。
以百度为例:
打开Chrome浏览器,按下F12打开开发者模式换到Netword下,在url栏输入www.baidu.com,会看到Netword下有很多的响应,首先我们要明白这些是什么
Networdname:请求的名称
name:请求的名称
status:响应的状态码
type:请求的文档类型
initiator:由那个进程发送的
size:下载(图片或资源)的大小
time:从请求到响应的时间
waterfall:网络请求可视化瀑布流模型
2,点击baidu.com会看到更加详细的信息,请求头,响应头和一些常见的信息这里只选择一些主要的来说。
头信息例如General部分:
Request URL:请求的网址
Request Method:请求方法
Status Code:响应状态码
Remote Address:服务器地址和端口
值得注意的有请求方式常见的有两种:GET POST。
GET 请求的参数包含在URL中可以直接看到。同时请求的数据最多只能有1024字节。
POST 请求以表单的形式提交不会体现在URL中,当要提交密码,或者大型文件的时候我们便会使用POST请求。
POST请求的提交方式(Content-Type):
application/x-www-form-urlencoded:表单提交
multipart/form-data:上传文件
application/json:josn数据
text/xml:xml数据
在请求头中重要的参数有:
Accept:指定用户接收的类型
Accept-Encoding:可接受的编码
Accept-Language:可接受的语言
Cookie: 维持当前会话
Host: 网址或请求的IP和端口号
User-Agent:浏览器的版本信息。我们在爬取信息时要设置这个,防止被识别为爬虫
在响应头中重要的有:
Date: 响应时间
Expires: 过期时间
Server:服务器信息
Set-Cookie: cookie
3,无状态HTTP
HTTP无状态是指HTTP是没有任何记忆能力的,不会记录此时的状态变化。
为了保持HTTP的连接状态,会话和Cookies应运而生!两者相互协作,一个在客户端,一个在服务端,实现了登录会话等。
在开发者模式中我们切换到Application左边我们便可以看到Cookies:
CookiesCookies属性:
name:Cookie的名称
Value:Cookie值
Domain:可以访问该Cookie的域名
Max Age:失效的时间
Path:使用的路径
Size:大小
HTTP:若为true,则只有在http中可以访问该Cookies信息
Secure:该Cookies是否是否使用安全协议传输,默认为false
这里可以说到HTTP和HTTPS:
HTTP即超文本传输协议,详情可以百度百科。而HTTPS是在HTTP下加入了SSL层,用来加密,来保证数据的安全性。
4,会话Cookie 和持久Cookie
其实没有会话和持久之分 ,只是时间不一样。
上述简单了解了下请求和响应时的属性分别表示什么。这些东西不说记住,但是看见了要知道是什么东西。