HTTP的请求模型
General
Request Headers
get和post方法
1.get
一般情况下,只从服务器获取数据,没有对服务器产生影响,通常情况下都是get请求,请求参数可以在url地址上显示出来
2.post
有道翻译
向服务器发送数据(登录,上传文件。。。)会对服务器产生影响那么通常都是使用的是post请求,请求参数不会在URL地址显示出来
URL
1.https
2.anchor 锚点
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4503.5 Safari/537.36
作用:记录了用户的浏览器的操作系统,为了让用户获得个好的获取HTML页面效果
一般会作为反反爬 的第一步
import requests
url = 'https://www.baidu.com/'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4503.5 Safari/537.36'
}
response = requests.get(url, headers=headers)
header = response.request.headers
print(header)
Referer: 表明当前的url是从那个url过来的,通常也是反反爬的一种
豆瓣top250
https://movie.douban.com/top250
:https://movie.douban.com/subject/1292052/
cookie
记录用户相关的信息
HTTP协议本身无状态,服务器无法判断用户的身份
爬虫里的作用:1.反反爬的作用 2. 模拟登录
状态码
重定向
301:永久重定向
302:临时重定向
抓包工具(谷歌浏览器自带)
element:元素
Console:控制台 后期分析js代码的时候找规律
Sources资源 分析js代码用,可以打断点,调试
NetWork :数据抓包