在上一篇我们讲解了什么是爬虫和爬虫的基本流程的介绍,今天给大家带来的就是对基本流程的详细介绍,什么是request和response。
request
1.什么是request?
浏览器发送信息给该网址所在的服务器,这个过程就叫做http request。
2.request中包含什么?
请求方式:请求方式的主要类型是get,post两种,另外还有head、put、delete等。get 请求的请求参数会显示在url链接的后面,比如我们打开百度,搜索“图片”,我们会看到请求的url链接为https://www.baidu.com/s?wd=图片。而 post 请求的请求参数会存放在request内,并不会出现在 url 链接的后面,比如我们登录知乎,输入用户名和密码,我们会看到浏览器开发者工具的network页,request请求有form data的键值对信息,那里就存放了我们的登录信息,有利于保护我们的账户信息安全;请求 url:url 全称是统一资源定位符,也就是我们说的网址。比如一张图片,一个音乐文件,一个网页文档等都可以用唯一url来确定,它包含的信息指出文件的位置以及浏览器应该怎么去处理它;请求头(request headers):请求头包含请求时的头部信息,如user-agent(指定浏览器的请求头),host,cookies等信息;请求体:请求体是请求是额外携带的数据,比如登录表单提交的登录信息数据。
response
1.什么是response?
服务器收到浏览器发送的信息后,能够根据浏览器发送信息的内容,做出相应的处理,然后把消息回传给浏览器,这个过程就叫做http response。
2.response中包含什么?
响应状态:有多种响应状态,比如200代表成功,301 跳转页面,404 表示找不到页面,502 表示服务器错误;响应头(response headers):比如内容类型,内容长度,服务器信息,设置cookie等;响应体:响应体最主要的部分,包含了请求资源的内容,比如网页 html 代码,图片二进制数据等。
简单演示
import requests # 导入requests库,需要安装 # 模拟成浏览器访问的头headers = {'user-agent':'mozilla/5.0 (windows nt 6.1; win64; x64) applewebkit/537.36 (khtml, like gecko) chrome/55.0.2883.87 safari/537.36'}resp = requests.get('https://www.baidu.com',headers=headers)print(resp.text) # 打印出网页源代码print(resp.status_code) # 打印出状态码
运行成功后可以看到打印出来的 html 源代码和 200 状态码了。这就基本上实现了爬虫的request和response的过程。
以上就是爬虫基本流程request和response的介绍的详细内容。
