有关http和https
HTTP:超文本传输协议
- 以明文的形式传输
- 效率更高但是不安全
HTTPS:HTTP+SSL(安全套接字层)
- 传输之前数据先加密,之后解密获取内容
- 效率低但是安全
分析
- 请求行
- 请求头
Connection:支持链接转化为长链接;客户端告诉对方的服务器,我们支持长链接,若对方服务器也支持长链接,则会使用长链接的方式先请求地址再复用上次链接去请求另外一个url地址
User-Agent:不同版本的浏览器、手机浏览器等等的标识
Cookie:用来存储用户信息,每次请求会被携带上,当获取要登录后才能实现的功能时需要处理Cookie,对方也会通过Cookie来判断我们是否是一个爬虫
Get和Post的区别 - Get请求没有请求体,get把请求的数据放到了url中;Post有
- Post请求常用于登录注册,传输大文本的时候
requests模块
使用Get和Post
requests.get(url) #发送get请求,获取url地址对应的响应
requests.post(url,data={请求体字典}) #发送post请求,获取url地址对应的响应
response的方法
response.text #该方法往往会出现乱码,出现乱码使用response.encoding="utf-8"
response.content.decode() #把响应的二进制字节流转化成str类型