c 抓取网页数据(浏览器输入一个URL站点后看到网站页面内容(组图))
优采云 发布时间: 2021-11-29 08:11c 抓取网页数据(浏览器输入一个URL站点后看到网站页面内容(组图))
我们在浏览器中输入一个URL站点,按回车,就可以正常在浏览器中看到网站页面的内容了。其实这个过程就是浏览器向它所在的服务器发送请求,告诉服务器请求什么。服务器收到请求后,对请求进行处理和解析。如果请求的处理和解析正常,则返回给浏览器。的回应。响应中收录页面的源代码等内容,浏览器解析响应中的源代码,最终显示解析出的网页。大致流程是:浏览器请求“服务器处理和分析”服务器响应并传递给浏览器“浏览器对网页的分析和渲染”。
让我们通过实际的网络站点来了解HTTP请求和响应的过程,以及在这个过程中发生了什么样的网络请求。以Chrome浏览器访问百度网站为例。
打开Chrome浏览器,在鼠标右键菜单中选择【检查】或直接快捷键【F12】打开开发者工具,切换到【网络】。在浏览器中输入百度站点:按回车键查看发生的网络请求。如下所示:
第一个网络请求:是浏览器向百度服务器发送的访问百度站点的请求。单击此请求可查看请求的详细信息和内容。
首先是General部分,描述了请求的URL、请求方法、响应状态码以及远程服务器的地址和端口;
下面有Response Headers和Request Headers,分别是响应头和请求头。收录响应和请求的部分相关信息和内容。我们来看看这个请求的具体内容和对应的响应。
请求的组成
请求由客户端即浏览器发送到服务器。发送的请求有4个方面:请求方法、请求URL、请求头、请求正文
1.请求方式
常见的请求有 get、post、put... 类型。get类接口一般是指获取信息的接口,比如列表查询的功能,点击查询按钮调用get接口,然后返回信息。这意味着从服务器(后端)提取内容。post类型一般是提交表单的功能,比如注册、导入数据等,就是post接口。这意味着将内容推送到服务器(后端)。
2.请求的站点
请求的网站是浏览器输入的URL URL
3.请求头
请求头用于指示服务器使用的附件信息,即HTTP协议规定的附加内容,必须按照协议规则进行处理。访问百度站点的请求头信息如下图所示:
查看请求头信息相关字段的描述
Accept:请求头域,用于指定客户端可以接受什么类型的信息,如上图所示,可以接受text/html等类型的信息
Accept-Encoding 和 Accept-Language:指定客户端可接受的编码和语言
连接:连接状态
Cookie:存储的Cookie信息,主要用于维护当前会话
Host:需要访问的站点地址
User-Agent:用于向服务器标识客户端使用的操作系统、浏览器版本等信息
4.请求正文
请求体一般携带POST类型请求的表单数据,GET类型请求体为空
响应的组成
响应是服务器返回给浏览器的信息。响应的内容有三个方面:响应状态码、响应头和响应体
1.响应状态码
响应状态码表示服务器对请求信息的处理结果,如200表示响应正常,404表示未找到页面,500表示服务器出错等。
2. 响应头
响应头收录服务器对请求的响应信息,如下图所示:
查看响应头中关键字段的描述
Content-Type:文档类型,指定返回的文档是什么,例如text/html表示返回的文档是HTML文档
服务器:服务器信息,如服务器名称、版本等。
Set-Cookie:设置 Cookie
Expires:指定响应的过期时间
3. 响应正文
是网页的HTML源代码,点击【预览】选项卡可以查看网页的源代码
2.3、 网页组成
现代网页总是带给我们丰富多彩的视觉体验。不同的网页往往有很多不同的外观,搭配合理的布局、丰富的图片、*敏*感*词*效果等,那么这些页面是如何形成的呢?构成网页的三个主要部分:HTML、CSS 和 JavaScript。HTML构成了网页的基本结构,CSS决定了网页的布局风格,JavaScript决定了网页的可塑性和动态呈现。下面我们来详细了解一下这三个部分:
1.HTML
HTML:全称是Hyper Text Markup Language,即超文本标记语言。网页上的文字、段落、图片、按钮等元素都是由HTML定义的。比如img标签代表图片,p标签代表段落等等,在Chrome浏览器中打开百度站,鼠标右键选择【勾选】或者直接【F12】打开开发者工具就可以了在【元素】选项栏中可以看到网页的HTML源代码,如下图:
您可以查看网页的 HTML 源代码。每个标签对定义一个节点和节点属性,它们形成一个 HTML 树。这些节点标签对显示在 HTML 树中,并且具有一定的层次关系。它们通常由父节点、子节点和同一级别的节点表示。HTML学习可以参考W3School网站学习:
2.CSS
CSS:全称Cascading Style Sheets,即Cascading Style Sheets。CSS 用于确定网页布局样式的标准,指定网页中文本的大小、颜色、位置等属性。找到如下图按钮【百度点击】查看样式:
CSS样式决定了按钮的宽高,即宽高的像素大小,以及文字颜色颜色:白色等信息。按钮背景色:background
3.JavaScript
JavaScript 是 JS,一种脚本语言,用于将 JS 文件嵌入 HTML 代码中,以提供交互式动态效果,例如提示框、轮播、下载进度条等。HTML 中的标签对由脚本标签对定义
综上所述,HTML 定义了网页的内容和结构,CSS 描述了网页元素的布局渲染和位置效果,JavaScript 定义了网页的交互性和*敏*感*词*效果。这三个构成了丰富的 Web 演示文稿的基本结构。
在了解了爬虫的基本概念、HTTP协议和网页的基本组成之后,基于这些方面的认知,我开始学习如何爬取网站并提取信息。