本文主要是介绍python3网络爬虫之先打一个牢牢的地基(一):关于网页的几个基本概念的理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
博主在自学爬虫的道路上摸索了好久,看过无数篇大佬的博客,但看过之后只是知道了什么样的第三方包可以通过怎样的语法实现什么样的功能,始终无法按照自己的意志独立写出一套爬虫程序来,感觉自己一直在门外徘徊。所以,我决定重新做人,从最基础的原理部分开始,打牢地基再建高楼!
说明
- 语言:python3
- 操作系统:windows/mac os
- 本博客相当于学习《Python3网络爬虫开发实战教程》(崔庆才)的学习笔记,如果有时间还是建议阅读书籍,后面是电子版的链接。《Python3网络爬虫开发实战教程》
网页基础
几个概念
-
URI、URL和URN
URI的全称为Uniform Resource Identifier,即统一资源标志符,URL的全称为Universal Resource Locator,即统一资源定位符,URN的全称为Universal Resource Name,即统一资源名称。
这几个概念的关系可以如下图所示,即URL和URN是URI的子集。
理解
先看名字说话:URI是标志符,意思就是,它就是某个资源的标志,至于这个标志是什么就很模糊了,所以,只要能唯一标识一个资源,它就是一个URI。那么用什么方法来标识呢?就产生来两种方法,用位置(URL)和名称(URN)来唯一表示这个资源。
类比:一张身份证就是你的一个URI,上面的身份证号码是URN,住址就是URL。
举个?:http://baidu.com 是百度的URL,也是一个URI。urn:isbn:0451450523指定了一本书的ISBN,可以唯一标识这本书,是这本书的URN,也是URI。在目前的互联网中,URN用得非常少,一般认为URL就是URI
-
HTML(超文本)
在网页界面右击任何一处并选择“检查”项,便可显示网页的源代码,这就是一个HTML(超文本)文档,浏览器通过解析该文档呈现出我们看到的最终界面。下图是www.google.com的网页源代码。
我们可以看到有很多用用<>表示的标签,如,这就是超文本文档的典型特点。如果想深入学习HTML,可以在菜鸟教程上找到相应的学习资料。 -
HTTP和HTTPs
HTTP和HTTPs是用于从网络传输超文本数据到本地浏览器的传送协议。当我们在浏览器输入URL后,一眨眼的功夫便得到两我们想要的东西,这看似是一个一步到位的过程,实际上这中间要完成许多动作。浏览器在接收到URL后,需要按照某种协议一步一步地找到我们请求的资源然后再一步一步地传送给我们,HTTP和HTTPs就是其遵循的协议。关于这两种协议的关系,我们可以简单理解为,HTTPs是HTTP的安全版,具有更高的安全性。目前的网站一般都采用HTTPs协议。 -
HTTP请求过程
从输入网址到网页界面的呈现的整个过程可以这样理解:当搜索引擎接收到网址后,会生成一个请求包,里面包含了各种信息,这个包会发送到资源所在的服务器,服务器接受到请求包后会生成一个相应的应答包发送回来。理解这一点对于理解爬虫的原理十分重要。(!!!亲身感悟!!!) -
Cookies
没错,就是?。不知道大家有没有发现,我们在一个网站注册登陆之后,下一次再打开这个网站,会自动登陆。这就是Cookies的功劳。Cookies是网站为了辨别用户进行会话跟踪而存储在用户本地的数据。简单理解就是我们在网站的身份标识。现在很多网站的功能和内容需要用户注册登陆后才能使用(就像某宝的购物车),标识用户就显得很重要了。当第一次向服务器发出请求的时候,服务器会返回给我们一个Cookies,我们的浏览器会将这个Cookies保存在本地,下一次再向该服务器发送请求的时候,会在请求包中加上Cookies的信息,服务器就可以知道你是谁了。 -
HTML、CSS、JavaScript三者的关系
引用书中的类比,HTML相当于人的骨架,CSS是皮肤,JavaScript是肌肉。HTML搭起基本的架构,CSS决定页面的布局,进行页面的美化。但是前两者只能让网页做一个安静的美男子,一动不动,所以这还远远不够,JavaScript的主要作用就是让网页动起来。如下图所示,左边就是HTML搭的架构,右边是CSS,决定页面的一些布局。注意到HTML里面有script的标签,可以展开,里面就是JavaScript。
以上就是我认为对爬虫比较重要的几个概念啦,下一节会以Google浏览器为例,介绍开发者工具的使用。
这篇关于python3网络爬虫之先打一个牢牢的地基(一):关于网页的几个基本概念的理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!