爬虫的风险

文章首发于慕课网
爬虫定义
网络爬虫(英语:web ),也叫网络蜘蛛(),是一种用来自动浏览万维网的网络机器人 。其目的一般为编纂网络索引 。——维基百科
万物都有两面性 。而爬虫作为一种计算机技术就决定了它的中立性,因此爬虫本身在法律上并不被禁止,但是利用爬虫技术获取数据这一行为是具有违法甚至是犯罪的风险的 。所谓具体问题具体分析,正如水果刀本身在法律上并不被禁止使用,但是用来捅人,就不被法律所容忍了 。
爬虫分类:
主要分为以下三类:
小规模,数据量小,爬取速度不敏感;对于这类网络爬虫我们可以使用库来实现,主要用于爬取网页;
中规模,数据规模较大,爬取速度敏感;对于这类网络爬虫我们可以使用库来实现,主要用于爬取网站或系列网站;
大规模,搜索引擎,爬取速度关键;此时需要定制开发,主要用于爬取全网,一般是建立全网搜索引擎,如百度、搜索等 。
在这三种中,我们最为常见的是第一种,大多数均是小规模的爬取网页的爬虫 。
爬虫引发的问题爬虫的限制
如果你问我那种途径最容易暴富,我建议你去看一下刑法 。同样的道理,网络爬虫的限制方法,也就成了我们平常突破反爬措施的突破入口 。
协议
从爬虫的限制中,可以看到协议是防止爬虫的一种手段 。那么先来看一下协议的解释
.txt是一个协议,是搜索引擎中访问网站的时候要查看的第一个文件 。它告诉蜘蛛程序在服务器上什么文件是可以被查看的 。
【爬虫的风险】当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面 。
如果将网站视为酒店里的一个房间,.txt就是主人在房间门口悬挂的“请勿打扰”或“欢迎打扫”的提示牌 。这个文件告诉来访的搜索引擎哪些房间可以进入和参观,哪些房间因为存放贵重物品,或可能涉及住户及访客的隐私而不对搜索引擎开放 。但.txt不是命令,也不是防火墙,如同守门人无法阻止窃贼等恶意闯入者 。——百度百科
也就是说如果一个搜索引擎不尊重.txt的“君子协议”,那么无论.txt文件写的多严密多好也是没用的 。所幸的是,互联网社会的大部分成员都还是尊重协议的 。[1]
但是平常在使用的过程总是不遵守协议,并且设置的时延比较小 。如果是长时间爬取的话,会对站点的服务器造成性能骚扰 。
# Obey robots.txt rulesROBOTSTXT_OBEY = FalseDOWNLOAD_DELAY = 1
查看工具

爬虫的风险

文章插图
有时候,需要查看一下该网站是否发布协议,可以在百度的搜索资源平台查看 。网址:
例如:查看豆瓣
从豆瓣的.txt中可以看到哪些是允许爬虫爬取的,哪些是禁止的 。并且对User-agent也有要求 。
风险
爬虫所带来的风险主要有以下几点:
违反网站意愿,例如网站采取反爬措施后,强行突破其反爬措施;爬虫干扰了被访问网站的正常运营;爬虫抓取了受到法律保护的特定类型的数据或信息 。其中,第3类风险主要来自于通过规避反爬虫措施抓取到了互联网上未被公开的信息 。规避方法
因此,爬虫开发者在使用爬虫时应注意:
严格遵守网站设置的协议;在规避反爬措施的同时优化自己的代码,避免给被访问网站造成干扰;在使用、传播抓取到的信息时,应审查所抓取的内容,如发现属于用户的个人信息、隐私或者他人的商业秘密的,应及时停止并删除 。