上篇博客里面写了, 爬虫就是发 http 请求(浏览器里面打开发送的都是 http 请求), 然后获取到 response, 咱们再从 response 里面找到想要的数据, 存储到本地.
咱们本章就来说一下什么是 http 请求, 它里面都有哪些东西, 我们在写爬虫的时候, 怎么 http 请求里面哪些对我们的爬虫有影响.
http 请求过程
咱们打开一个网站的时候, 过程是这样的客户端 (浏览器) 发送请求到服务端(你打开的网站所在的服务器), 服务端接收到请求, 处理, 返回数据给客户端(浏览器), 然后咱们在浏览器里面看到了数据.
明白了这个过程之后呢, 咱们再来说 http 请求里面都包含了什么东西.
请求方式
主要有: GET/POST 两种类型常用, 另外还有 HEAD/PUT/DELETE/OPTIONS
GET 和 POST 的区别就是: 请求的数据 GET 是在 url 中, POST 则是存放在请求体里面.
GET: 一般向服务器获取数据用 get 请求, get 请求的数据都是放在 url 中的, 实质上和 post 请求没有太大的区别, 当然也可以用来向服务器发送数据.
POST: 一般向服务器发送数据用 post 请求, post 请求的数据放在请求体里.
HEAD: 与 GET 方法一样, 都是向服务器发出指定资源的请求. 只不过服务器将不传回资源的本文部分. 它的好处在于, 使用这个方法可以在不必传输全部内容的情况下, 就可以获取其中 "关于该资源的信息"(元信息或称元数据).
PUT: 向指定资源位置上传其最新内容.
OPTIONS: 这个方法可使服务器传回该资源所支持的所有 HTTP 请求方法. 用'*'来代替资源名称, 向 web 服务器发送 OPTIONS 请求, 可以测试服务器功能是否正常运作.
DELETE: 请求服务器删除 Request-URI 所标识的资源.
请求 url
URL, 即统一资源定位符, 也就是我们说的网址, 统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示, 是互联网上标准资源的地址. 互联网上的每个文件都有一个唯一的 URL, 它包含的信息指出文件的位置以及浏览器应该怎么处理它.
URL 的格式由三个部分组成:
第一部分是协议(或称为服务方式). http/https
第二部分是存有该资源的主机 IP 地址(有时也包括端口号). www.puuuq.cn/192.168.1.1:8888
第三部分是主机资源的具体地址, 如目录和文件名等. /index
爬虫爬取数据时必须要有一个目标的 URL 才可以获取数据, 因此, 它是爬虫获取数据的基本依据.
请求头
一个请求由两部分组成, 请求头和请求体.
包含请求时的头部信息, 如 User-Agent,Host,Cookies 等信息, user-agent 就是你请求用的是什么浏览器, host 就是服务端的地址, 还有很多信息, 服务端是如何分辨你是用的什么浏览器, 你的 ip 地址就是从请求头里面获取到的.
请求体
请求体就是发送数据的时候, 数据放在请求体里面. get 请求是没有请求体的, post 请求才有请求体.
http 响应
上面说了请求, 下面说响应.
发送了请求, 服务端要给返回数据嘛. 这个就是响应, 请求是你发出去的, 响应是服务端返回给你的.
响应包含了 2 个部分, 一个是响应头, 一个是响应体. 响应头里面包含了响应的状态码, 返回数据的类型, 类型的长度, 服务器信息, Cookie 信息等等.
响应体里面就是具体返回的数据了.
响应状态码
有很多响应状态, 不同的状态码代表不同的状态, 常见的状态码如: 200 代表成功, 301 跳转, 404 找不到页面, 502 服务端错误
1xx 消息 -- 请求已被服务器接收, 继续处理
2xx 成功 -- 请求已成功被服务器接收, 理解, 并接受
3xx 重定向 -- 需要后续操作才能完成这一请求
4xx 请求错误 -- 请求含有词法错误或者无法被执行
5xx 服务器错误 -- 服务器在处理某个正确请求时发生错误 常见代码:
200 OK 请求成功
400 Bad Request 客户端请求有语法错误, 不能被服务器所理解
401 Unauthorized 请求未经授权, 这个状态代码必须和 WWW-Authenticate 报头域一起使用
403 Forbidden 服务器收到请求, 但是拒绝提供服务
404 Not Found 请求资源不存在
503 Server Unavailable 服务器当前不能处理客户端的请求, 一段时间后可能恢复正常
301 目标暂时性转移
302 目标永久性转移
爬虫学习笔记(二)http 请求详解
来源: http://www.bubuko.com/infodetail-2670104.html