你听过爬虫吗?
计算中的爬虫,又称为网络爬虫、网页蜘蛛、网络机器人,它是一段计算机器代码,可以自动抓取网页上的数据。
网页是由什么组成呢?
网页一般由文本、图像、音频、视频等元素组成。
它们通过html、JS、css等编程语法排列组合,然后生成网页。也就是说,我们看到的文字、图片、视频等是和HTML等元素混合在一起的。
爬虫所做的工作就是从网页中把我们关心的文本、图像、音频、视频等提取出来,我们不关心HTML等元素,但我们需要按照HTML等的语法来解析网页。
爬虫的基本结构
一个简单的爬虫由四部分组成:URL管理器、网页下载器、网页解析器、数据存储器等。
为什么Python在爬虫领域独领风骚?
因为有很多成熟好用的相关库,拿来就用,节省了造轮子的时间。
爬虫的工作流程
爬虫的工作流程主要有四步:
如何限制爬虫
目前对网络爬虫的限制主要有两种方式:
1.来源审查:判断User-Agent(在请求头中的一个键值对)进行限制,通过该键值对可以判断发起网络请求的浏览器类型,网站维护人员可以根据这个进行请求限制。
2.发布公告:Robots协议。
Robots协议是一种网站管理员用来告知搜索引擎蜘蛛哪些页面可以抓取,哪些页面不可以抓取的文本文件。
robots.txt是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络爬虫/蜘蛛),此网站中的哪些内容是不能被搜索引擎的漫游器获取的,哪些是可以被获取的。当robots访问一个网站时,它会首先查看该网站根目录下是否存在robots.txt文件,如果存在,它将按照文件中规定的规则进行访问 。
可以查看一些网站的robots.txt文件,比如:
遵纪守法
robots.txt是道德规范,是一个协议,它不是命令,不是强制执行,大家一定要自觉遵守。
爬虫技术是一种自动化获取网络信息的技术,但是如果不遵守相关法律法规,就会触犯法律。
为了避免这种情况,我们可以采取以下措施:
1.在爬虫程序中设置访问限制,避免对目标网站造成过大的访问压力;
2.在爬虫程序中设置合理的请求间隔,避免对目标网站造成过大的访问量;
3.在爬虫程序中设置合理的抓取深度,避免对目标网站造成过大的数据抓取量;
4.在爬虫程序中设置合理的数据存储方式,避免对目标网站造成过大的数据存储压力;
5.在使用爬虫技术时,应该尊重目标网站的隐私权和知识产权,不得侵犯其合法权益 。