您的当前位置:首页正文

爬虫基本流程Request和Response的介绍

2020-11-27 来源:星星旅游

基于python的爬虫想要从网站上获取数据,就是从request到response的过程。我们通过伪装浏览器从而向服务器发出Request请求,服务器则会在接受信息后,作出Response回应。

zz.jpg


在上一篇我们讲解了什么是爬虫和爬虫的基本流程的介绍,今天给大家带来的就是对基本流程的详细介绍,什么是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的过程。