作者为苏宁金融研究院金融科技研究中心副主任沈春泽、研究员李加庆,编辑:陈霞、毛德芬 “放下你手里的代码,小心被抓。” 最近程序员圈子不乏这样的戏谑调侃。 原因是最近发生的多起涉及爬虫技术的公司被司法部门调查。近日,51信用卡被查,更是将暴力催收背后非法使用爬虫技术爬取个人隐私数据的丑行,暴露在阳光之下。 一时间,“爬虫”成为众矢之的,一些公司紧急下架了爬虫相关的招聘信息,给大数据风控、人工智能从业者带来些许恐慌,头发又多落了几根。 实际上,大部分人都听说过爬虫,认为爬虫就是到人家网站上去爬东西、偷数据,有些人甚至认为只要有爬虫,什么数据都可以搞到。 今天,我们就打开爬虫这个“工具箱”,把涉及到的技术盲区放到灯光下,让大家可以清楚地看下。下面,本文就从这个角度来聊聊爬虫这个熟悉而又陌生的技术。 01 爬虫的技术原理 搜索引擎收集网上信息的主要手段就是网络爬虫(也叫网页蜘蛛、网络机器人)。它是一种“自动化浏览网络”的程序,按照一定的规则,自动抓取互联网信息,比如:网页、各类文档、图片、音频、视频等。搜索引擎通过索引技术组织这些信息,根据用户的查询,快速地提供搜索结果。 设想一下,我们平时浏览网页的时候会怎么做? 一般情况下,首先,会用浏览器打开一个网站的主页,在页面上寻找感兴趣的内容,然后点击本站或其它网站在该网页上的链接,跳转到新的网页,阅读内容,如此循环往复。如下图所示: 图中的虚线圆角矩形代表一个网站,每个实线矩形表示一个网页。可以看到,每个网站一般以首页为入口,该首页链接到几个、几万个、甚至上千万个的内部网页。同时,这些网页往往又链接了很多外部网站。例如,用户从苏宁金融的网页为起点,浏览发现了PP视频的链接,点击后跳转到了PP视频主页,作为体育爱好者,在体育频道中找到了相关的新浪微博的内容,再次点击后又来到微博的页面继续阅读,从而形成了一条路径。如果把所有的可能路径呈现出来,就会看到一个网络结构。
|