在我没接触这一行时这个问题困扰了我很长时间,让我十分的不理解到底什么是爬虫,它难道是一种实体工具?,直到我学习python 深入分析了解以后才揭开了它神秘的面纱。
爬虫是什么呢?爬虫有简单的爬虫和复杂的爬虫。实际上简单的爬虫是一种 脚本 ,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。
脚本就是粗糙的,但往往非常实用的小程序(一般来说不会超过几千行,有时候也就几百几十行的代码构成)。举个简单的例子,你现在要从一个学生租房的网站上读取关于出租的学生公寓的信息。你一条一条去抄写肯定是不现实的。所以就要用爬虫。可以把一个信息类网站上几千条信息一次全部扒下来。百度,谷歌这类的搜索引擎你也可以认为是一种爬虫,只不过这类的技术十分的复杂,不是简单的脚本。
搜索引擎是如何工作的?其实就是通过网络爬虫技术,将互联网中数以百亿计的网页信息保存到本地,形成一个镜像文件,为整个搜索引擎提供数据支撑。
这样的技术首先就会涉及到一个十分重要并且人人关注的问题——是否违法?
仔细探究后总结出了如下观点:
1遵守 Robots 协议,但有没有 Robots 都不代表可以随便爬,
2限制你的爬虫行为,禁止近乎 DDOS 的请求频率,一旦造成服务器瘫痪,约等于网络攻击;
3对于明显反爬,或者正常情况不能到达的页面不能强行突破,否则是 Hacker 行为;
4审视清楚自己爬的内容,绝不能触碰法律的红线。
至此你应该明白,爬虫本身并不违法,而是要看你使用的方式和目的,还要看其商业用途。
技术层面,爬虫核心是前端技术,黑客是为信息安全;数据层面,一个是公开,一个是私有。爬虫是黑客的一个小小技能。
数据公私之分
爬虫是获取公开的数据,黑客是获取私有的数据。一个是将用户浏览的数据用程序自动化的方式收集起来,一个是寻找漏洞获取私密数据,又可分为白帽黑客和黑帽黑客。
比如用户评论的数据,商品价格的信息,比如用户的视频,这些通过浏览器大众可以公开访问到的数据,可以通过爬虫技术获取,爬和反爬永远存在着斗争,因为爬虫是机器,非真正的用户。
而黑客如果获取用户银行账号,密码,公司私有数据等等,即使用到爬虫技术,但本质上是黑客,如果用于非法目的去获利,则是黑帽黑客。
技术领域不同
爬虫主要涉及前端和数据存储之分,比如通过模拟浏览器来将数据存储起来,对于一些反爬技术做的好的站点,你要模拟登录,cookie信息维护,有时还要翻看js代码,核心技术是前端。
而黑客核心技术是是信息安全,涉及领域众多,比如 *** 作系统、网络技术、编程技术、硬件技术等,技术上黑客目的是寻找漏洞,一切达到目的技术都要为我所用。
道德之眼
如果要写爬虫,频率要放缓,否则会对服务器造成压力,影响真实用户体验。有些数据涉及版权,爬取和使用上要留心。
如果做黑客,做白帽黑客,不要为了短期内的私人利益把自己送进铁房子,不值得。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)