<返回更多

什么是爬虫?Python为什么在爬虫领域独领风骚

2023-08-18    和猫妹学Python
加入收藏

你听过爬虫吗?

计算中的爬虫,又称为网络爬虫、网页蜘蛛、网络机器人,它是一段计算机器代码,可以自动抓取网页上的数据。

网页是由什么组成呢?

网页一般由文本、图像、音频、视频等元素组成。

它们通过html、JS、css编程语法排列组合,然后生成网页。也就是说,我们看到的文字、图片、视频等是和HTML等元素混合在一起的。

爬虫所做的工作就是从网页中把我们关心的文本、图像、音频、视频等提取出来,我们不关心HTML等元素,但我们需要按照HTML等的语法来解析网页。

爬虫的基本结构

一个简单的爬虫由四部分组成:URL管理器、网页下载器、网页解析器、数据存储器等。

  1. URL管理器就是你要下载哪个网页的内容,URL中有超链接,这些链接是否需要下载,下载时需要去重等。
  2. 网页下载器就是下载网页的内容,将网页的内容下载到本地。常用的两个http请求库有urllib库和request库。前者是Python/ target=_blank class=infotextkey>Python官方基本模块。后者是性能优越使用广泛的第三方库。
  3. 网页解析器就是解析网页内容,提取我们关心的信息。用到的知识有正则表达式、lxml库和Beautiful Soup库。
  4. 数据存储库主要就是存储数据,将数据持久化存储到本地。

为什么Python在爬虫领域独领风骚?

因为有很多成熟好用的相关库,拿来就用,节省了造轮子的时间。

爬虫的工作流程

爬虫的工作流程主要有四步:

  1. Request发起请求,客户端请求服务器响应。
  2. Reponse获取响应,此时服务器将所请求的网页送到客户端。
  3. 解析内容,利用正则表达式、lxml库或Beautiful Soup库提取目标信息。
  4. 保存数据,将解析后的数据保存到本地,可以是文本、音频、图片、视频等。

如何限制爬虫

目前对网络爬虫的限制主要有两种方式:

1.来源审查:判断User-Agent(在请求头中的一个键值对)进行限制,通过该键值对可以判断发起网络请求的浏览器类型,网站维护人员可以根据这个进行请求限制。

2.发布公告:Robots协议。

Robots协议是一种网站管理员用来告知搜索引擎蜘蛛哪些页面可以抓取,哪些页面不可以抓取的文本文件。

robots.txt是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络爬虫/蜘蛛),此网站中的哪些内容是不能被搜索引擎的漫游器获取的,哪些是可以被获取的。当robots访问一个网站时,它会首先查看该网站根目录下是否存在robots.txt文件,如果存在,它将按照文件中规定的规则进行访问 。

可以查看一些网站的robots.txt文件,比如:

遵纪守法

robots.txt是道德规范,是一个协议,它不是命令,不是强制执行,大家一定要自觉遵守。

爬虫技术是一种自动化获取网络信息的技术,但是如果不遵守相关法律法规,就会触犯法律。

为了避免这种情况,我们可以采取以下措施:

1.在爬虫程序中设置访问限制,避免对目标网站造成过大的访问压力;

2.在爬虫程序中设置合理的请求间隔,避免对目标网站造成过大的访问量;

3.在爬虫程序中设置合理的抓取深度,避免对目标网站造成过大的数据抓取量;

4.在爬虫程序中设置合理的数据存储方式,避免对目标网站造成过大的数据存储压力;

5.在使用爬虫技术时,应该尊重目标网站的隐私权和知识产权,不得侵犯其合法权益 。

关键词:爬虫      点击(3)
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多爬虫相关>>>