提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮
文章目录
前言
在写爬虫之前,我们还需要了解一些基础知识,如HTTP原理、网页的基础知识、爬虫的基本原理、Cookies的基本原理等。本文我们对这些基础知识进行简单的总结
一、HTTP的基本原理
在本文中,我们会详细了解HTTP的基本原理,了解在浏览器中敲入URL到获取网页内容之间发生了什么。了解了这些内容,有助于我们进一步了解爬虫的基本原理。
1、URI和URL
我们先了解一下URI和URL,URI全称(Uniform Resource Identifier),即统一资源标识符;URL全称(Uniform Resource Locator),即统一资源定位符。举例来说:http://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/RackAwareness.html是Apache Hadoop的网站的链接,它是URL,也是URI。用他们来作为唯一的标识符,这其中包括了访问的协议http、访问的路径(/docs/r2.7.2/hadoop-project-dist/hadoop-common)和资源名称RackAwareness.html。通过这个URL/URI可以在网上找到这个资源。并且URL是URI的子集。一般个人习惯称它为URL。其实URI中不止包含URL,还包含URM(统一资源名称,即Uniform Resource Name)它只命名资源不定位。比如urn:isbn:0451450523指定一本书的ISBN,可以唯一标识这本书,但是不能定位去哪里找它。
强调文本 强调文本
2、超文本
链接: 菜鸟教程.
超文本(hypertext)——我们在浏览器中看到的网页就是超文本解析而成的,其网页源代码的一系列HTML代码,里面包含了一系列标签,如img显示图片,p显示段落等等(详见:菜鸟教程),便形成了我们常见的网页,而网页的源代码HTML就可以称作超文本。右键检查或者直接按F12,就可以打开浏览器的开发工具,这时在Elements选项卡里可以看到当前网页的源代码,这些源代码就是超文本。
3、HTTP和HTTPS
在菜鸟的首页https://www.runoob.com/中,URL的开头会有http和https,这就是访问资源需要访问的类型。有时,我们也会看到ftp、sftp、smb开头的URL,他们都是协议的类型。当然,我们在用爬虫写的网站一般用http或https协议。
HTTP——超文本传输协议,用于从网络传输超文本数据到本地浏览器的传送协议。它能保证高效而准确的传送超文本文档。
HTTPS——超文本传输协议,是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,简称HTTPS。
HTTPS的安全基础是通过SSL加密它传输的内容。它的主要作用可分两种:
1、建立一个信息安全通道来保证信息的安全。
2、确认网站的真实性,凡是使用了HTTPS的网站,都可以通过点击浏览器地址栏的锁头标志来查看网站认证之后的真实信息,也可以通过CA机构颁发的安全签章来查询。当然,也有使用HTTPS协议也会有被浏览器提示不安全的情况,这是因为它的CA证书,不被CA机构信任,但是依然有SSL加密的。
抓取HTTPS就需要设置忽略证书的选项,否则会提示SSL链接错误。