欢迎来到简单网-简单阅读!
现在一提到Python可能有不少人会想到爬虫,甚至有些人可能会认为Python就是爬虫,室长也相信有很多人学习Python是为了学习爬虫。
但是爬虫到底是个什么东西?可能很多人并不了解。我们不用着急去搞清这个概念,先来了解一下二十多年前那个互联网混沌初开时的面貌吧!
那个时候还没有百度、谷歌这种搜索引擎。哪个网站网址是哪里,有什么内容,基本还是靠口耳相传。人们本来觉得连上因特网信息就能更通畅,结果连个网址都不知道,更显得自己信息闭塞了。很多网站进行自我宣传还得通过杂志。不过时代总是在发展的,人们不甘于这种不便,于是出现了一种专门收集网站信息的网站,它把很多网站的名称、网址、基本信息等内容挂到自己的网站上,用户就可以通过这个网站来访问各大网站了。这种网站被称为导航网站,直到现在互联网上仍有非常多导航网站的身影。
那个时候的导航网站其实也很简单,都是用人工去搜索知名度高,质量好的网站,这确实方便了网上冲浪者,但还是有很明显的弊端,一是收录不全,大网站很容易被搜索到,小破站则难有出头之日;二是更新不及时,可能挂上去的网站趁导航网站一不注意就停运了;三是难以展现出某些网站中用户最关心的内容。当然这些说到底都是因为在那个互联网井喷式发展的时代,人工收录的工作量增加到了难以想象的程度。
那么程序员就开始思考了,能不能用程序的方法来代替人工呢?想来想去,一种获取网站信息的程序就诞生了。
你看,人一旦开始犯懒,创造力就蹭蹭地往上涨。有了这种程序,人们就可以一个网站一个网站,甚至一个网页一个网页地获取信息,再通过用户的输入进行匹配、筛选,全网的任何内容就都能被搜索到了。就这样,互联网从导航网站时代迈入到了搜索引擎时代。当然,很大一部分归功于可以获取网站信息程序的出现。
想必大家都已经猜到了,这个可以获取网站信息的程序就是爬虫。
既然爬虫是将互联网推入搜索引擎时代的好技术,为什么还有“师父领进门,刑期看个人”这种调侃呢?
其实网站对待爬虫,就像是一个初恋少女在等待男友
从导航网站时代到搜索引擎时代,用户和网站的关系发生了变化。以前是用户去找网站,现在是网站来找用户。越能被搜索引擎搜索到,网站的曝光量就越高,现在甚至为了流量都搞出竞价排名这种名堂来了。对于网站来说肯定是希望被爬取的。但是一方面网站也是有隐私的,就像一个饭馆的后厨不愿意被随意围观,另一方面网站的服务能力也是有限的,爬虫如果不讲武德,一秒钟爬取1000次的话网站的服务器就不用干别的了。
所以网站对乱搞的爬虫还是比较发怵的。虽然互联网产生了一个robots协议,用来规范爬虫行为,要求爬虫参考网站的robots.txt文件,了解网站的哪些内容可以爬取,哪些内容不能爬取。但这个robots协议其实只是个君子协定,没有实质上的效力。同时因为爬虫和用户的正常访问本质上是一样的,所以很多情况下网站也不能断定你使用了爬虫。这也导致了各种爬虫技术仍在流行。
正如我们所说,爬虫和用户的正常访问本质上是一样的,那么类似于正常访问的行为并不会造成法律后果。但目前来看有几点需要注意:
1.不讲武德,访问过于频繁导致把人家的服务器搞崩;
2.搞偷袭,用正常访问无法获得的链接、接口等获取信息;
3.利用爬虫进行刷数据、刷阅读量、点赞等影响网站数据的行为;
4.获取个人隐私信息;
5.将获取到的数据信息商业化应用等。
这些都是爬虫的红线,一旦碰了,牢饭基本上就端稳了。
不过对于网站来说这样的红线也很难保障自身的权利,所以如何反爬虫就成了网站的必修功课(部分网站吧,有的网站是真的躺平)。爬虫和反爬虫就形成了一组对抗的技术,一个是要装得越来越像人,另一个就是要从一堆看着像人的人里挑出那个不是人的。
说到现在,可能大家对爬虫和反爬虫都有了初步的认识。但我们还没说回到Python,其实爬虫并不是Python的专利,只不过使用Python可以很方便地编写出可以使用的爬虫程序。爬虫技术的关键也不在于Python,而在于我们从向网站发出浏览网页请求到获取到网页内容的整个流程。如果一个网站不设防备,那么一点点简单的HTML知识也许就够用了,但随着反爬力度的增加,涉及到的知识也会越来越多,而成功爬取信息带来的成就感也越来越大
- 上一篇 世界很静,我的思绪于深夜里远行