在我没接触这一行时这个问题困扰了我很长时间,让我十分的不理解到底什么是爬虫,它难道是一种实体工具?,直到我学习Python 深入分析了解以后才揭开了它神秘的面纱。
爬虫是什么呢?爬虫有简单的爬虫和复杂的爬虫。实际上简单的爬虫是一种脚本,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。
脚本就是粗糙的,但往往非常实用的小程序(一般来说不会超过几千行,有时候也就几百几十行的代码构成)。举个简单的例子,你现在要从一个学生租房的网站上读取关于出租的学生公寓的信息。你一条一条去抄写肯定是不现实的。所以就要用爬虫。可以把一个信息类网站上几千条信息一次全部扒下来。百度,谷歌这类的搜索引擎你也可以认为是一种爬虫,只不过这类的技术十分的复杂,不是简单的脚本。
搜索引擎是如何工作的?其实就是通过网络爬虫技术,将互联网中数以百亿计的网页信息保存到本地,形成一个镜像文件,为整个搜索引擎提供数据支撑。
这样的技术首先就会涉及到一个十分重要并且人人关注的问题——是否违法?
仔细探究后总结出了如下观点:
1.遵守 Robots 协议,但有没有 Robots 都不代表可以随便爬,
2.限制你的爬虫行为,禁止近乎 DDoS 的请求频率,一旦造成服务器瘫痪,约等于网络攻击;
3.对于明显反爬,或者正常情况不能到达的页面不能强行突破,否则是 Hacker 行为;
4.审视清楚自己爬的内容,绝不能触碰法律的红线。
至此你应该明白,爬虫本身并不违法,而是要看你使用的方式和目的,还要看其商业用途。