加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 移动互联 > 评测 > 正文

“放下你手里的代码”:爬虫技术的善与恶、罪与罚

发布时间:2019-11-02 15:48:56 所属栏目:评测 来源:苏宁金融研究院
导读:副标题#e# 放下你手里的代码,小心被抓。 最近程序员圈子不乏这样的戏谑调侃。 原因是最近发生的多起涉及爬虫技术的公司被司法部门调查。近日,51信用卡被查,更是将暴力催收背后非法使用爬虫技术爬取个人隐私数据的丑行,暴露在阳光之下。 一时间,爬虫成

其实,我国2017年6月1日施行的《中华人民共和国网络安全法》第四章第四十一条和四十四条就已经对个人隐私信息数据的收集和使用做出明文规定,这也与爬虫直接相关。

“放下你手里的代码”:爬虫技术的善与恶、罪与罚
“放下你手里的代码”:爬虫技术的善与恶、罪与罚

法律制度的出台,给技术的边界做出了明确的限定,技术无罪并不能作为技术实施者为自己开脱的理由。爬虫在实现自己需求的同时,必须做到严格遵守行为准则和法律条例。

各类反爬虫技术介绍

为了保护自己合法权益不被恶意侵害,不少网站和应用APP应用了大量的反爬技术。这使得爬虫技术中又衍生出反反爬虫技术,比如各类滑动拼图、文字点选、图标点选等验证码的破解,它们相互促进、相互发展、相互伤害着。

反爬虫的关键在于阻止被爬虫批量爬取网站内容,反爬虫技术的核心在于不断变更规则,变换各类验证手段。

这类技术的发展甚至让人痴迷,比DOTA对战还让人热血沸腾。从那晃动如波浪的文字验证码图形的伪装色里彷佛都能看得见程序员的头发。

1、图片/Flash

这是比较常见的反爬手段,将关键数据转为图片,并添加上水印,即使使用了OCR(Optical Character Recognition,文字识别)也无法识别出来,让爬虫端获取了图片也得不到信息。早期一些电商的价格标签中经常见到这种方式。

2、JavaScript混淆技术

这是爬虫程序员遇到最多的一种反爬方式,简单来说其实就是一种障眼法,本质上还是一种加密技术。很多网页中的数据是使用JavaScript程序来动态加载的,爬虫在抓取这样的网页数据时,需要了解网页是如何加载该数据的,这个过程被称为逆向工程。为了防止被逆向工程,就用到JavaScript混淆技术,加JavaScript代码进行加密,让别人看不懂。不过这种方式属于比较简单的反爬方式,属于爬虫工程师练级的初级阶段。

3、验证码

验证码是一种区分用户是计算机还是人的公共全自动程序,也是我们经常遇到的一种网站访问验证方式,主要分为以下几种:

(1)输入式验证码

这是最最常见的,通过用户输入图片中的字母、数字、汉子等字符进行验证。

“放下你手里的代码”:爬虫技术的善与恶、罪与罚

图中CAPTCHA 的全名是(Completely Automated Public Turing test to tell Computers and Humans Apart),中文翻译为:全自动区分计算机与人类的图灵测试。实现的方式很简单,就是问一个电脑答不出来但人类答得出来的问题。不过,现在的爬虫往往会用深度学习技术对这样的验证码进行破解,这样的图灵测试已经失效。

(2)滑块式验证码

鉴于输入式的图形验证码的缺点,容易被破解,而且有时候人类都识别不了。滑块验证码横空出世,这种验证码操作简便,破解难度大,很快就流行起来了。破解滑块验证码存在两大难点:一是必须知道图形缺口在哪里,也就是得知道滑块滑到哪;二是要模仿出人类滑动的手势。这样的验证码增加了一定的难度,也给爬虫界增加了很多乐趣,一时间大量破解滑块验证码的技术出现。

“放下你手里的代码”:爬虫技术的善与恶、罪与罚

(3)点击式的图文验证和图标选择

图文验证,是通过文字提醒用户点击图中相同字的位置进行验证。

“放下你手里的代码”:爬虫技术的善与恶、罪与罚

图标选择,是给出一组图片,按要求点击其中一张或者多张。

“放下你手里的代码”:爬虫技术的善与恶、罪与罚

这两种原理相似,只不过是一个给出文字,点击图片中的文字;一个给出图片,点出符合内容的图片。这两种方法的共同点就是体验差,被广为诟病。

(4)手机验证码

对于一些重要的敏感信息访问,网站或APP端一般会提供填写手机验证码的要求,通过手机接受网站发送的验证码来进一步访问,这种方式对于数据隐私的保护比较好。

4、账号密码登陆

网站可以通过账号登陆来限制爬虫的访问权限,个人在使用很多网站服务的时候一般是需要进行账号注册的,使用的时候需要通过账号密码登陆才能继续使用服务。网站可以利用用户浏览器的Cookie来对用户的身份进行识别,通过保存在用户本地浏览器中加密的Cookie数据来进行用户访问会话的跟踪。这一般作为前面几种反爬方式的补充。

爬虫技术的发展方向

传统网络爬虫最大的应用场景是搜索引擎,普通的企业更多是做网站或应用。后来随着网络数据分析的需要,以及互联网上的舆情事件层出不穷,针对网络爬虫有了大量的需求,采集的对象主要是些新闻资讯。

近些年,由于大数据处理和数据挖掘技术的发展,数据资产价值的概念深入人心,爬虫技术得到更加广泛和深入的发展,采集对象也更丰富,高性能、并发式的技术指标也更高。

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读