当前位置:AIGC资讯 > 数据采集 > 正文

Python实用技术——爬虫(一):爬虫基础

目录

爬虫这门技术本身是不违法的,但是应该注意:

1,爬取什么数据

2,如何爬取得来的

3,爬取之后如何使用

二,HTTP协议

1,万维网

2,协议:

三,HTTP知识

四,HTTP请求方法:

五,HTTP的响应

六,HTTP的响应状态码

八,HTTPS协议

九,初始HTML文档

十,HTML的标签

学完Python的入门以后,我们便开始深入的学习如何更好的玩Python,寓教于乐。在学习的过程中玩,听人家说,爬虫最容易让初学者有种满足感,意思就是这个内容不是很难。希望大家能学到东西,能看懂我写的东西。

首先,开始这章内容之前,送给大家两句话,希望大家熟记。

网络爬虫必须遵守法律法规。

技术并无对错。

爬虫这门技术本身是不违法的,但是应该注意:

1,爬取什么数据

不能包含用户的个人信息、隐私或者他人的商业秘密
不能侵犯作者的著作权等其他受法律法规保护的内容

2,如何爬取得来的

严格遵守网站设置的robots协议,必须禁止"侵入”
严禁通过“隐瞒事实、虚构真相”的方式对数据进行访问
在规避反爬虫措施的同时,避免干扰被访问网站的正常运行

3,爬取之后如何使用

获取的数据不能替代数据来源方的原服务。

在如今的大数据时代,得数据者得天下的说法是毫不夸张的,现在的社会中,无处不充斥着数据的身影,各行各业中,数据都占据着及其重要的地位,这也就意味着,我们能爬取到的数据只能是人家允许我们看到的,如果人家不给我们看,即设置了一些阻碍去禁止我们爬取的时候,千万不要为了显示自己的能耐而去攻击人家,这是违法的。现在的数据已成为重要的生产要素与核心资源。

对于大众来说,爬虫是成本最低,最方便的数据获取方式,简单到只需要几行代码,数据就成为了囊中之物。但是,风险也高,也就是上面我所说的,网络爬虫必须遵守法律法规。国家已经颁布了大量相关法律,最近的像2021年6月刚颁布的数据安全法,不要试图挑战国家法律!任何组织、个人收集数据应当采取合法、正当的方式,不得窃取或者以其他非法方式获取数据。

一,Robots协议

1994年6月30日,经过搜索引擎研究人员和被爬取网站站长的协商,共同起草了第一-份“robots协议”成为搜索技术企业共同遵守的规范。
 

“Robots协议”更像是一个君子协议,无法阻挡未经许可的爬虫行为,更不能对数据进行实质性的保护。

所以呢,需要法律进一步约束网络参与者的行为。

二,从一个简单的请求开始

1,为什么要从一个简单的请求开始?

一个简单的请求是一个HTTP请求,那什么是HTTP呢?

2,爬虫就是模拟浏览器向服务器发送请求,然后从服务器返回的数据中,筛选目标数据。

因此,我们在学习爬虫之前,我们需要先了解请求与响应的这个过程。

3,

对于网站而言,一般都要部署一个网站服务器,主要功能就是存放网站文件和数据文件,响应用户请求,让用户能够浏览网页下载数据。因为服务器一般使用HTTP协议来与浏览器进行信息交流。因此,网站服务器也常被称为HTTP服务器。

对于互联网用户而言,使用的是web客户端,最常见的就是各类浏览器。我们仅需要输入网址,就能得到想要的页面,我们今天主要的目的就是了解这个过程。

4,请求与响应过程:

1)浏览器中输入URL

URL ( Uniform Resource Locator)
统一资源定位符
➢URL实际上就是互联网标准资源的唯一地址
➢表示了互联网资源位置的和访问资源的方法

互联网上的每个文件都有一个唯一的URL

2)浏览器根据输入的URL输入的URL寻找对应的IP地址

浏览器根据输入的URL寻找对应的IP地址。

IP地址( Internet Protocol Address )
就是给互联网上的每一台主机或者设备分配一个在全世界范围内唯一的标识符
如: 14.215.177.38 
 

3)客户端与目标服务器建立TCP连接

TCP (Transmission Control Protocol)
传输控制协议
➢为了在不可靠的互联网络上提供可靠的、端到端的字节流而专门设计的一个传输协议
 

通过IP地址找到服务器后,目的肯定是为了进行信息交流,因此,必须要建立一个TCP连接,为了在不可靠的互联网络上提供可靠的、端到端的字节流而专门设计的一个传输协议

4)浏览器向web服务器发送HTTP请求

5)收到请求后,将web客户端请求的文档(HTML)作为响应返回(成功与否)

web服务器收到HTTP请求后,将web客户端请求的文档作为响应返回给用户。

6)浏览器对文档进行处理,加载,解析,渲染。

HTTP (HyperText Transfer Protocol )
超文本传输协议
➢互联网上应用最广泛的一种网络传输协议
➢所有的WWW文件都必须遵守这个标准
 

我们要知道,打开网页的本质是什么?

本质就是对网站服务器发送请求,然后由网站服务器返回我们需要访问的文件。

二,HTTP协议

1,万维网

首先,我们要知道万维网,万维网是什么呢?

 这是百度的网址,我们可以看到,开头的地方首先就是https,这就是HTTP协议。

所谓万维网就是后面的www,即world wide website。

2,协议:

网络通信的参与方必须遵循相同的规则。

世界上运行着很多设备,如果这些设备想要能够相互交流,那就必须要定义一些通用的规则来进行交流,人们把操作系统之间的通信称为“协议”。

 网络通信需要使用相同的一组网络协议。

如果要在客户端和服务端传输web文档,HTTP协议就是传输web文档的一种主要协议。

浏览器发送请求,网站服务器响应请求的这个过程中,必须严格遵循HTTP协议的格式,工作方式提供所需的数据。

三,HTTP知识

编写爬虫程序,实际上就是模仿浏览器,向网站服务器发送请求。

 HTTP请求报文:

四,HTTP请求方法:

HTTP定义了一组请求方法,用来表明对目标资源要执行的操作。

 浏览器访问网站一般都使用get请求方法。

五,HTTP的响应

编写爬虫程序的主要工作:

获取HTTP响应,从中筛选出自己想要的数据。

HTTP响应报文:

六,HTTP的响应状态码

状态码告知网站服务器的响应状态

七,HTTP的响应头

HTTP的响应体中,包含了服务器返回的所有网页数据。 

八,HTTPS协议

(Hypertext Transfer Protocol Secure)超文本传输安全协议 

HTTPS协议是一种通过网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS
加密数据包。
 

HTTP协议是明文的,不安全的,而HTTPS协议对网络数据传输进行了加密,能够有效保护用户隐私。

HTTPS开发的主要目的是提供对网站服务器的身份认证,保护交换数据的隐私与完整性
 

九,初始HTML文档

我们必须要理解网页的基本构造与组成,然后才能去分析筛选出需要的数据。

 无论是什么样的网页,都必须是这样的布局。HTML是支撑网页内容的部分。

通常来讲,我们在浏览器中看到的网页内容就是浏览器解析超文本后的输出结果,即HTML。

HTML超文本标记语言( Hyper Text Markup Language)

➢不是编程语言,而是标记语言
➢使用一套标记标签(Markup Tag)
➢HTML文档包含标记标签和文本内容
 

服务器将HTML文档返回给客户端之后,我们使用的浏览器是知道HTML语法的,所以它会自动解析。解析完之后就是我们所看到的页面。能够实现比文本更丰富的内容。

十,HTML的标签

HTML标签
➢由尖括号包围的关键词,如<html>
➢通常成对出现,如<html>和</html>

标签对中的第一个标签是开始标签,第二个标签是结束标签。

一些高频标签: 

HTML元素:

从开始标签到结束标签之间的所有代码。

更新时间 2023-11-08