爬虫开发前导知识
前言
在第一篇中,我们在学习爬虫开发有关于前导知识这一块介绍了,端口号,网络协议,网络响应。那么在今天这一篇中我们把余下的前导知识介绍完。
网络知识
请求方法
根据HTTP标准,HTTP请求可以使用多种请求方法。
- HTTP 0.9:只有基本的文本 GET 功能。
- HTTP 1.0:完善的请求/响应模型,并将协议补充完整,定义了三种请求方法: GET, POST 和 HEAD方法。
- HTTP 1.1:在 1.0 基础上进行更新,新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
- HTTP 2.0(未普及):请求/响应首部的定义基本没有改变,只是所有首部键必须全部小写,而且请求行要独立为 :method、:scheme、:host、:path这些键值对
| 序号 | 方法 | 描述 |
|---|---|---|
| 1 | GET | 请求指定的页面信息,并返回实体主体 |
| 2 | HEAD | 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头 |
| 3 | POST | 向指定资源提交数据进行处理请求(例如提交表单或者上传文件),数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改 |
| 4 | PUT | 从客户端向服务器传送的数据取代指定的文档的内容 |
| 5 | DELETE | HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器 |
| 6 | CONNECT | 允许客户端查看服务器的性能 |
| 7 | OPTIONS | 允许客户端查看服务器的性能 |
| 8 | OPTIONS | 回显服务器收到的请求,主要用于测试或诊断 |
看到了这么多的方法,有的同学可能就崩溃了。都记住确实有点难度,目前我们只要了解GET和POST这种请求方法就可以了。那下面我们就来看看这2种方法
GET和POST
- GET : 查询参数都会在URL上显示出来 如图
- POST : 查询参数和需要提交数据是隐藏在Form表单里的,不会在URL地址上显示出来 如图
URL组成部分
URL有叫全球统一资源定位符 那么URL都有哪些部分组成呢?我们找一个实例URL
https://new.qq.com/omn/TWF20200/TWF2020032502924000.html
- https: 协议
- new.qq.com: 主机名可以将主机理解为一台名叫 news.qq.com 的机器。这台主机在 qq.com 域名下
- TWF20200/TWF2020032502924000.html:访问资源的路径
注意:在这里默认端口号是省略了。还有一个组成不是叫做anchor。它的意思是锚点,主要作用是在前端用做页面定位的
User-Agent 用户代理
作用:记录用户的浏览器、操作系统等,为了让用户更好的获取HTML页面效果,可以用做反爬
我们以后写爬虫的时候,在请求目标网站的URL的时候建议加上User-Agent,如果没有加,可能我们无法准确的获取数据。
Refer
作用:表明当前这个请求是从哪个url过来的。一般情况下可以用来做反爬的技术 Refer一般有些网站也会在这里做反爬处理。就是我们在请求目标网站的时候,假如我们请求的网站是经过了一个网页然后跳转到我们要请求的目标网站,这个时候有可能就需要加上Refer。例如我们在拉勾网,要爬取Python的岗位。那么Python岗位的页面是经过了,拉勾网的首页,这个时候就会在NetWork中看到一个Refer指向首页的URL
谷歌浏览器自带的抓包工具
-
Elements : 元素 网页源代码,提取数据和分析数据(有些数据是经过特殊处理的所以并不是都是准确的) 通过Elements里面的元素选择器我们也可以快速定位网页中元素的位置
-
Console : 控制台 (打印信息) 在爬虫开发当中用处不大
- Sources : 信息来源 (整个网站加载的文件)
- NetWork : 网络工作(信息抓包) 能够看到很多的网页请求 我们最重要的一个选项,当我们像目标网页发送请求的时候,服务器给我们的响应数据都在这个选项当中。这些数据包括我们请求的目标URL、图片、CSS、JS、以及数据接口等等。在做爬虫的时候很多情况都是需要Elements选项和NetWork这两个选项配合来使用。在后面的实战项目中,我们会一步一步来介绍他们的用法。现在同学们只需要先简单了解一下就可以了。
爬虫开发的前导知识,我们基本就介绍完了。在后续的更新当中,我们会进入爬虫开发领域的知识点学习,一步一个脚印,大家可以逐步掌握学习要领。当然,有什么不明白的或者希望我更新哪些技术都可以在评论区留言。