动态网页抓取( 爬虫暴力催收背后非法使用爬虫技术的丑行暴露在阳光之下)
优采云 发布时间: 2022-01-02 19:04动态网页抓取(
爬虫暴力催收背后非法使用爬虫技术的丑行暴露在阳光之下)
“把手里的代码放下,小心被抓住。”
最近程序员圈里不乏这样的笑话。
原因是近期司法部门*敏*感*词*了多家涉及爬虫技术的公司。近日,51张*敏*感*词*被*敏*感*词*,曝光了暴力催收背后的丑闻:非法使用爬虫技术抓取个人隐私数据。
一时间,“爬虫类”成为众矢之的。一些公司紧急下架爬虫类招聘信息,让大数据风控和人工智能从业者有些恐慌,又掉了几根头发。
其实大部分人都听说过爬虫,认为爬虫是到人们的网站去爬取东西,窃取数据。甚至有人认为,只要有爬虫,任何数据都可以获得。
今天,我们就打开爬虫的“工具箱”,把涉及到的技术盲点放在灯光下,让大家看得一清二楚。下面,本文将从这个角度谈谈爬虫这个熟悉又陌生的技术。
爬虫技术原理
搜索引擎在互联网上采集信息的主要手段是网络爬虫(也称为网络蜘蛛、网络机器人)。它是一种“自动浏览互联网”的程序,根据一定的规则,自动抓取互联网信息,如:网页、各种文档、图片、音频、视频等,搜索引擎通过索引技术将这些信息组织起来,并快速根据用户查询提供搜索结果。
想象一下我们浏览网页时会做什么?
一般情况下,首先会使用浏览器打开网站的首页,搜索页面上感兴趣的内容,然后点击本站或其他网站的链接网页、跳转到新页面、阅读内容等。如下图所示:
图中带圆角的虚线矩形代表一个网站,每个实心矩形代表一个网页。可以看出,每个网站一般都以一个主页作为入口,链接到几个、几万甚至几千万的内部网页。同时,这些网页往往链接到许多外部网站。例如,某用户从苏宁财经的网页开始,浏览并找到PP视频的链接,点击跳转到PP视频首页,作为一名体育迷,在体育频道找到了相关的新浪微博内容,再次点击来到了PP视频主页。微博页面继续阅读,从而形成一条路径。如果您提供所有可能的路径,您将看到一个网络结构。
网络爬虫模拟人们浏览网页的行为,但用程序代替人工操作,在网页上进行广度和深度的遍历。如果将互联网上的网页或网站理解为节点,大量的网页或网站会通过超链接形成网络结构。爬虫通过遍历网页上的链接从一个节点跳转到下一个节点,就像在巨大的网络上爬行一样,但它比人类更快,跳转的节点更全面,因此被形象地称为网络爬虫或网络蜘蛛。
二次爬虫的发展历程
网络爬虫最早的用途是为搜索引擎的数据采集服务,现代意义上的搜索引擎的鼻祖是Archie,由加拿大麦吉尔大学的学生Alan Emtage于1990年发明.
人们使用FTP服务器来共享通信资源,大量文件分散在各个FTP主机上,查询非常不方便。因此,他开发了一个系统,可以通过文件名搜索文件,定期采集和分析FTP服务器上的文件名信息,并自动为这些文件建立索引。其工作原理与目前的搜索引擎非常接近,依靠脚本自动搜索分散在各个FTP主机上的文件,然后将相关信息编入索引,以特定的表达方式供用户查询。
世界上第一个网络爬虫“wwwwanderer”(“wwwwanderer”)由麻省理工学院学生Matthew Gray于1993年编写。起初只是用来统计互联网上的服务器数量,后来发展到可以通过它检索网站域名。
随着互联网的快速发展,检索所有新网页变得越来越困难。因此,一些程序员在“网络漫游者”的基础上,针对传统“蜘蛛”程序的工作原理做了一些工作。提升。这个想法是,由于所有网页都可能有指向其他 网站 的链接,因此可以通过跟踪 网站 的链接来检索整个 Internet。
此后,无数搜索引擎让爬虫变得越来越复杂,逐渐向多策略、负载均衡、*敏*感*词*增量爬取的方向发展。爬虫工作的结果是搜索引擎可以遍历链接的网页,甚至可以通过“网页快照”功能访问被删除的网页。
网络爬虫的三大礼仪1:robots.txt文件
每个行业都有自己的行为准则,即行为准则或行为准则。例如,如果您是某个协会的成员,您必须遵守该协会的行为准则。如果您违反行为准则,您将被踢出。
最简单的例子,你加入的很多微信群,一般站长都会要求不要私下发广告。未经允许发广告会被直接踢出群,不过发个红包也没关系。这是行为。指南。
爬虫也有行为准则。早在1994年,搜索引擎技术才刚刚兴起。当时,初创的搜索引擎公司,如AltaVista、DogPile,利用爬虫技术采集整个互联网资源,与雅虎的资源分类网站展开激烈竞争。随着互联网搜索规模的扩大,爬虫采集信息的能力得到了快速的发展。 网站开始考虑对搜索引擎抓取的信息进行限制,于是robots.txt应运而生,成为了爬虫界的“君子协议”。
robots.txt 文件是业界的通行做法,并非强制性约束。 robots.txt的格式如下:
在上面的robots.txt示例中,所有爬虫都被禁止访问网站的任何内容。但是谷歌的爬虫机器人可以访问除私人位置以外的所有内容。如果网站上没有robots.txt,则认为默认允许爬虫爬取所有信息。如果robots.txt被限制访问,但爬虫不遵守,这不是技术实现的简单问题。
礼仪2:抓取吞吐量的控制
冒充谷歌搜索引擎的爬虫曾出现对 网站 进行 DDoS 攻击,导致 网站 瘫痪。近年来,恶意爬虫引发的DDoS攻击不断增多,给大数据行业投下了爬虫的阴影。因为背后的恶意攻击者往往拥有更复杂、更专业的技术,可以绕过各种防御机制,使得此类攻击的防范难度更大。
礼仪 3:做一个优雅的爬虫
优雅履带的背后,必定有文明人或文明团队站立。他们会考虑自己编写的爬虫程序是否符合robots.txt协议,是否会影响被爬取的网站的性能,怎么能不侵犯知识产权和非常重要的个人权益?隐私数据。
由于能力差异,并不是每个爬虫团队都能考虑这些问题。 2018年,欧盟的《通用数据保护条例》(General Data Protection Regulation)发布了严格的数据保护指令。 2019年5月28日,国家互联网信息办公室发布的《数据安全*敏*感*词*》(征求意见稿)对爬虫和个人信息安全做出了非常严格的规定。例如:
(1)第十六条网络运营者使用自动化方式从网站获取和采集数据,不得妨碍网站的正常运行;此类行为严重影响网站的运行@网站,如果自动访问采集的流量超过网站日均流量的三分之一,网站请求停止自动访问采集,应该停止。
(2)第二十七条网络运营者向他人提供个人信息前,应当评估可能存在的安全风险,并征得个人信息主体的同意。
实际上,2017年6月1日起实施的《中华人民共和国网络安全法》第四章第四十一条和第四十四条已经对个人隐私信息的采集和使用作出了明确规定。 ,这也和爬虫有直接关系。
法律制度的出台明确了技术的界限。技术的清白不能作为技术实施者为自己辩解的理由。爬虫在满足自身需求的同时,必须严格遵守行为准则和法律法规。
四种反爬虫技术介绍
为了保护自己的合法权益不受恶意侵害,很多网站和应用类APP应用了大量的防爬技术。这使得爬虫技术衍生出反爬虫技术,比如破解各种滑动拼图、文本点击、图标点击等验证码。他们互相促进,互相发展,互相伤害。
反爬虫的关键是防止爬虫对网站内容的批量抓取。反爬虫技术的核心是不断改变规则,改变各种验证方式。
这种技术的发展更是引人入胜,甚至比DOTA之战还要精彩。在波浪形文字验证码图形的伪装色中可以看到程序员的头发。
1、图片/Flash
这是一种比较常见的反爬法。它将关键数据转换为图像并添加水印。即使使用OCR(Optical Character Recognition,文本识别),也无法识别。到信息。这种方式在一些早期电商的价格标签中经常看到。
2、ja vasc ript 混淆技术
这是爬虫程序员最常遇到的反爬方法。简而言之,它实际上是一种致盲方法,本质上是一种加密技术。许多网页中的数据是使用 ja vasc ript 程序动态加载的。在抓取此类网页数据时,爬虫需要了解网页是如何加载数据的。这个过程称为逆向工程。为了防止被逆向工程,使用了ja vasc ript混淆技术,并添加了ja vasc ript代码进行加密,让别人看不懂。但该方法属于比较简单的防爬方法,属于爬行工程师调平的初级阶段。
3、验证码
验证码是一种公开的自动程序,用于区分用户是计算机还是人。也是我们经常遇到的一种网站访问验证方式。主要分为以下几种:
(1)输入类型验证码
这是最常见的。通过用户输入图片中的字母、数字、汉字等字符进行验证。
图中CAPTCHA的全称是(Completely Automated Public Turing test to tell Computers and Humans Apart),中文翻译为:自动图灵测试,区分计算机和人类。实现这一点的方法很简单,就是提出一个计算机无法回答但人类可以回答的问题。然而,目前的爬虫往往使用深度学习技术来破解此类验证码,这样的图灵测试已经失效。
(2)滑块类型验证码
鉴于输入式图形验证码的缺点,容易被破解,有时人类无法识别。滑块验证码诞生了。这种验证码操作简单,破解难度大,迅速走红。破解滑块验证码有两大难点:一是要知道图形缺口在哪里,也就是要知道滑块在哪里滑动;另一种是模仿人类的滑动手势。这样的验证码增加了一定的难度,也给爬虫世界增添了不少乐趣。一时间出现了大量破解滑块验证码的技术。
(3)点击式图形验证和图标选择
图片和文字验证是提醒用户点击图片中同一个字的位置进行文字验证。
图标选择是给出一组图片,根据需要点击其中一个或多个。
两者原理相似,只是一个给出文字,点击图片中的文字;另一个给出图片并点击与内容匹配的图片。这两种方法的共同点是体验不佳,广受诟病。
(4)手机验证码
对于一些重要敏感信息的访问,网站或者APP一般会提供填写手机验证码的请求,并使用手机接受网站发送的验证码以便进一步访问。这种方法对于数据隐私保护比较好。
4、账号密码登录
网站 您可以通过自己的账号登录来限制爬虫的访问权限。个人在使用很多网站服务时,一般都需要注册一个账号。使用时,需要通过账号密码登录才能继续使用。服务。 网站 用户浏览器cookie可以用来识别用户的身份,通过用户本地浏览器中存储的加密cookie数据可以跟踪用户的访问会话。这一般作为之前防爬方法的补充。
五种爬虫技术的发展方向
传统网络爬虫最大的应用场景是搜索引擎。普通公司多做网站或应用。后来随着网络数据分析的需要,以及互联网上层出不穷的舆论事件,对网络爬虫的需求量很大。 采集的目标主要是新闻信息。
近年来,由于大数据处理和数据挖掘技术的发展,数据资产价值的概念已经深入人心,爬虫技术得到更加广泛和深入的发展,< @采集对象也更丰富,高性能,并发公式的技术指标也更高。
关于网络爬虫合法性的讨论依然存在,而且情况更加复杂。在目前的趋势下,很多法律问题还处于一个模糊的领域,往往取决于具体*敏*感*词*的影响。但是,可以肯定的是,只要有互联网,就会有网络爬虫。只有网络爬虫才能让庞大的互联网变得可搜索,让爆炸式增长的互联网更容易被访问和获取。在可预见的未来,互联网爬虫技术将继续发展。
作为人类历史上最大的知识仓库,互联网是非结构化或非标准化的。互联网上聚集了大量的文字、图片、多媒体等数据。虽然内容很有价值,但是提取知识的难度还是非常巨大的。语义互联网、知识共享等概念越来越流行,真正的语义互联网将成为网络爬虫的目标。此外,物联网技术的发展将是互联网的升级形态,也是未来爬虫技术的发展方向。