当前位置:   article > 正文

爬虫——网页前端基础_前端爬虫

前端爬虫

爬虫——网页前端基础

HTTP请求方式与过程

爬虫在爬取数据时将会作为客户端模拟整个HTTP通信过程,该过程也需要通过HTTP协议实现。HTTP请求过程如下。

(1)——由HTTP客户端向服务器发起一个请求,创建一个到服务器指定端口(默认是80端口)的TCP连接。

(2)——HTTP服务器从该端口监听客户端的请求。

(3)——一旦收到请求,服务器会向客户端返回一个状态,比如“HTTP/1.1 200 OK”,以及返回的响应内容,如请求的文件、错误消息、或其它信息。

1. 请求方法

在HTTP/1.1协议中共定义了8种方法(也叫“动作”)来以不同方式操作指定的资源,常用方法有GET、HEAD、POST等。

2. 请求(request)与响应(response)

HTTP协议采用了请求/响应模型。

(1). 客户端向服务器发送一个请求报文,请求报文包含请求的方法URL、协议版本、请求头部请求数据

(2). 服务器以一个状态行作为响应,响应报文包括协议的版本、响应状态服务器信息响应头部响应数据

Request:

请求方式:主要有GET、POST两种类型,另外还有HEAD、PUT、DELETE、OPTIONS等。

请求URL:URL全称统一资源定位符,如一个网址,一个网页文档、一张图片、一个视频等都可以用URL唯一确定。

请求头:包含请求时的头部信息,如User-Agent、Host、Cookies等信息。

请求体:请求时额外携带的数据,如表单提交时的表单数据

Response:

响应状态:有多种响应状态,如200代表成功、301跳转、404找不到页面、502服务器错误

响应头:如内容类型、内容长度、服务器信息、设置Cookie等等。

响应体:最主要的部分,包含了请求资源的内容,如网页HTML、图片二进制数据等。

客户端与服务器间的请求与响应的具体步骤如下:

1).连接Web服务器:由一个HTTP客户端发起连接,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。

2).发送HTTP请求:客户端经TCP套接字向Web服务器发送一个文本的请求报文。

3).服务器接受请求并返回HTTP响应:Web服务器解析请求,定位该次的请求资源。之后将资源复本写至TCP套接字,由客户端进行读取。

4).释放连接TCP连接:若连接的connection模式为close,则由服务器主动关闭TCP连接,客户端将被动关闭连接,释放TCP连接;若connection模式为keepalive,则该连接会保持一段时间。

5).客户端解析HTML内容:客户端首先会对状态行进行解析,之后解析每一个响应头,最后读取响应数据。

常见HTTP状态码

1. HTTP状态码种类

  1. HTTP状态码是用来表示网页服务器响应状态的3位数字代码,按首位数字分为5类状态码。
    
    • 1

2. 常见HTTP状态码

HTTP头部信息

HTTP头部信息(HTTP header fields)是指在超文本传输协议(HTTP)的请求和响应消息中的消息头部分。头部信息定义了一个超文本传输协议事务中的操作参数。在爬虫中需要使用头部信息向服务器发送模拟信息,通过发送模拟的头部信息将自己伪装成一般的客户端。

1. HTTP头部类型

HTTP头部类型按用途可分为:通用头,请求头,响应头,实体头。

通用头:既适用于客户端的请求头,也适用于服务端的响应头。与HTTP消息体内最终传输的数据是无关的,只适用于要发送的消息。

请求头:提供更为精确的描述信息,其对象为所请求的资源或请求本身。

响应头:为响应消息提供了更多信息。例如,关于资源位置的描述Location字段,以及关于服务器本身的描述使用Server字段等。

实体头:提供了关于消息体的描述。如消息体的长度Content-Length,消息体的MIME类型Content-Type。

Cookie

必要性前提:

1)HTTP是一种无状态的协议,客户端与服务器建立连接并传输数据,在数据传输完成后,本次的连接将会关闭,并不会留存相关记录。

2)服务器无法依据连接来跟踪会话,也无法从连接上知晓用户的历史操作。这严重阻碍了基于Web应用程序的交互,也影响用户的交互体验。

3)某些网站需要用户登录才进一步操作,用户在输入账号密码登录后,才能浏览页面。对于服务器而言,由于HTTP的无状态性,服务器并不知道用户有没有登录过,当用户退出当前页面访问其他页面时,又需重新再次输入账号及密码。

1.Cookie机制

为解决HTTP的无状态性带来的负面作用,Cookie机制应运而生。Cookie本质上是一段文本信息。

1)当客户端请求服务器时,若服务器需要记录用户状态,就在响应用户请求时发送一段Cookie信息。

2)客户端浏览器会保存该Cookie信息,当用户再次访问该网站时,浏览器会把Cookie做为请求信息的一部分提交给服务器。

3)服务器对Cookie进行验证,以此来判断用户状态,当且仅当该Cookie合法且未过期时,用户才可直接登录网站。

2.Cookie的存储方式

Cookie由用户客户端浏览器进行保存,按其存储位置可分为内存式存储和硬盘式存储。

1)内存式存储将Cookie保存在内存中,在浏览器关闭后就会消失,由于其存储时间较短,因此也被称为非持久Cookie或会话Cookie。

2)硬盘式存储将Cookie保存在硬盘中,其不会随浏览器的关闭而消失,除非用户手工清理或到了过期时间。由于硬盘式Cookie存储时间是长期的,因此也被称为持久Cookie。

3.Cookie的实现过程

客户端与服务器间的Cookie实现过程的具体步骤如下。

1)客户端请求服务器:客户端请求网站页面

2)服务器响应请求:Cookie是一种字符串,为key=value形式,服务器需要记录这个客户端请求的状态,在响应头中增加一个Set-Cookie字段。

3)客户端再次请求服务器:

客户端会对服务器响应的Set-Cookie头信息进行存储。

当再次请求时,将会在请求头中包含服务器响应的Cookie信息。

好了,以上就是爬虫需要掌握的常见前端基础知识,今天的分享就到这。

最后

我们准备了一门非常系统的爬虫课程,除了为你提供一条清晰、无痛的学习路径,我们甄选了最实用的学习资源以及庞大的主流爬虫案例库。短时间的学习,你就能够很好地掌握爬虫这个技能,获取你想得到的数据。

01 专为0基础设置,小白也能轻松学会

我们把Python的所有知识点,都穿插在了漫画里面。

在Python小课中,你可以通过漫画的方式学到知识点,难懂的专业知识瞬间变得有趣易懂。
在这里插入图片描述
在这里插入图片描述

你就像漫画的主人公一样,穿越在剧情中,通关过坎,不知不觉完成知识的学习。

02 无需自己下载安装包,提供详细安装教程

在这里插入图片描述

03 规划详细学习路线,提供学习视频

在这里插入图片描述
在这里插入图片描述

04 提供实战资料,更好巩固知识

在这里插入图片描述

05 提供面试资料以及副业资料,便于更好就业

在这里插入图片描述
在这里插入图片描述
这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要也可以扫描下方csdn官方二维码或者点击主页和文章下方的微信卡片获取领取方式,【保证100%免费】
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/885953
推荐阅读
相关标签
  

闽ICP备14008679号