01 | 网页基础与爬虫基础-爬虫基础

372次阅读
没有评论

 

Ⅰ. HTTP 基本原理

在本文中我会详细了解 HTTP  的基本原理,了解在浏览器中敲入 URL 到获取网页内容之间发生了什么。了解了这些内容,有助于我们进一步了解爬虫原理。

 

Ⅱ. URL 和 URI

这里我们简单了解即可,我就不写出全称。

URL:统一资源定位符

URI:统一资源标志符

举个例子:https://github.com/favicon.ico  是 Github 的网站图标链接,它是一个 URL 也是一个 URI 。即有这样的一个图标资源,我们用 URL /URI 来唯一指定了它的访问的方式,这其中包括了访问协议 https 、访问路径(/根目录)和资源名称 favicon.ico  。通过这样一个链接,我们便可以从互联网上找到该资源,这就是 URL/URI 。

 

Ⅲ. 超文本

接下来我们再了解一个概念——超文本,其英文名称叫做 hypertext ,我们在浏览器里看到的网页就是超文本解析而成的,其网页源代码是一系列 HTML 代码(HTML 不是真正的编程语言, JavaScript  才是真正的编程语言),里面包含了一系列标签,比如 img  显示的就是图片,p 指定显示段落等。浏览器解析这些标签后,便形成了我们平常看到的网页,而网页的源代码 HTML 就可以称作超文本。

例如,我们在 Chrome 浏览器里面打开任意一个页面,如淘宝首页,右键点击任意地方并选择 ”检查“(或 直接按快捷键 F12),即可打开浏览器的开发者工具,这时在 Elements 选项卡即可看到当前的网页源代码,这些网页的源代码,这些源代码文件都是超文本,如下图所示:

01

Ⅳ. HTTP 和 HTTPS

在淘宝的首页 https://www.taobao.com/ 中, URL的开头会有 http 或 https ,这就是访问资源需要的协议类型。有时,我们还会看到 ftp、sftp、smb 开头的 URL ,它们都是协议类型。在爬虫中,我们抓取的页面通常是 http 或 https 协议的,这里首先了解一下这两个协议的含义。

HTTP 的全称是 Hyper Text Transfer Protocol , 中文名叫做超文本传输协议。HTTP 协议是用于从网络传输超文本数据到本地浏览器的传输协议,它能保证高效而准确地传送超文本文档。HTTP 由万维网协会和 Internet 工作小组 IETF 共同合作制定的规范。

HTTPS 的全称是 Hyper Text Transfer Protocol over Secure Socket Layer(超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。

即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。——来源:百度百科

它的主要作用可以分为两种:

  • 建立一个信息安全通道来保证数据传输安全。

  • 确认网站的真实性。凡是使用了 HTTPS 的网站,都可以通过点击浏览器地址栏的锁头标志来查看网站认证之后的真实信息,也可以通过 CA 机构颁发的安全签章来查询。

  • 现在越来越多的网站和 App 都已经向 HTTPS 方向发展,例如:

     

    • 苹果公司强制所有 IOS App 在2017年1月1日前全部改为使用 HTTPS 加密,否则 App 就无法在应用商店上架。

    • 谷歌从2017年1月推出的 Chrome56 开始,对未进行 HTTPS 加密网址链接亮出风险提示,即在显著位置提醒用户 “此网站不安全”。

    • 腾讯微信小程序的官方需求文档要求后台使用 HTTPS 请求网络通信,不满足条件的域名和协议无法请求。

Ⅴ. 什么是 Request 和 Response ? (HTTP 请求过程)

Gif 演示:

01

静态图片:

01

解析网页开发者工具各部分

01

随便点击一个条目,查看详细信息:

01

01

服务器会根据请求头( Requests Headers) 内的信息判断请求是否合法,进而做出对应的响应。

Response Headers 就是响应的一部分,例如包含了服务器的类型、文档型、日期等信息,浏览器接收到响应后,会解析响应的内容,进而渲染呈现网页内容。

 

01

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:Python教程2022-11-01发表,共计1802字。
新手QQ群:570568346,欢迎进群讨论 Python51学习