分享

聚焦爬虫原理及其在互联网金融领域应用前景浅析

本帖最后由 xuanxufeng 于 2016-1-25 19:57 编辑
问题导读



1.什么是爬虫?
2.本文聚焦爬虫的分为几类?
3.深聚焦爬虫的结构包含哪些内容?





爬虫已经成为数据的一个重要来源,作为社会主义接班人的数据分析师们,怎么能不关注数说君推荐的这篇爬虫好文章?

导读

马云说,大数据时代来了。现在太多互联网公司都在做大数据,每个公司的数据来源都不止一个,其中占比重较大的一个数据源非网络爬虫莫属。然而不同的公司格局业务背景不同,所需要的数据类型也就不同。不同于搜索网站所用的通用爬虫,聚焦爬虫开始越来越多的被人们提起。

目录

1. 聚焦爬虫的原理

2. 聚焦爬虫的发展

3. 爬虫在互联网金融领域应用

4. 结语



1.聚焦爬虫的原理

1.1 概念

聚焦爬虫,又称主题爬虫(或专业爬虫),是“面向特定主题”的一种网络爬虫程序。它与我们通常所说的爬虫(通用爬虫)的区别之处就在于,聚焦爬虫在实施网页抓取时要进行主题筛选。它尽量保证只抓取与主题相关的网页信息。



1.2 聚焦爬虫的分类

聚焦爬虫主要分为两大类。一类是浅聚焦爬虫,所谓浅聚焦爬虫是指,爬虫程序抓取特定网站的的所有信息。其工作方式和通用爬虫几乎一样,唯一的区别是种子URL的选定确定了抓取内容的一致,其核心是种子URL的选择。另一类是深聚焦爬虫,深聚焦爬虫是指在海量的不同内容网页中,通过主题相关度算法选择主题相近的URL和内容进行爬取。其核心是如何判断所爬取的URL和页面内容是与主题相关的。

关系如下:


1.png

由图可见,浅聚焦爬虫可以看成是将通用爬虫局限在了一个单一主题的网站上,因此我们通常所说的聚焦爬虫大多是指深聚焦爬虫。

1.2.1 浅聚焦爬虫

浅聚焦爬虫从一个或若干初始网页的URL开始,(例如分类信息网)获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。

其工作流程如图:


2.png


可见浅聚焦爬虫的基本原理跟通用爬虫的基本原理是一样的,其特点是选定种子URL,例如,要抓取招聘信息,可以将招聘网站的URL作为种子URL。用主题网站保证了抓取内容的主题一致。



1.2.2 深聚焦爬虫

深聚焦爬虫最主要的特点是主题一致性。然而在浩如烟海的互联网大数据中要保证所抓取的数据主题一致并不是一件简单的事情。针对不同的数据需求,这其中需要的策略和方式并没有统一的解答。在这里不说具体的解决方法,只讨论一下常见的解决思路。



一、针对页面内容

这种解决方法是不管页面的主题是什么,先将页面爬取下来。对页面进行简单的去噪后,利用主题提取策略(关键字,分类聚类算法等)对处理后的页面内容进行主题提取,最后对比设定好的主题,如果主题一致,或在一定的阀值内,则保存页面进一步进行数据清洗。若主题偏差超过一点阀值,则直接丢弃页面。这种方式的优点是链接页面全覆盖,不会出现数据遗漏。但是缺点也十分致命,那就是全覆盖的页面,很大一部分是与主题无关的废弃页面,这极大的拖慢了爬虫爬取数据的速度。到后期,爬取数据的速度将是无法接受的。



二、针对URL

上面介绍了浅聚焦爬虫的核心是选定合适的种子URL,这些种子URL主要是主题网站的入口URL。比如北京赶集网担保贷款频道的入口URL:http://bj.ganji.com/danbaobaoxian/,这个URL透漏给我们很多信息,根据这些信息,我们可以初步预测到这个URL所链接的页面的主题就是担保保险,其地域在北京,其平台是赶集网。由此我们发现,互联网上的网站或者网站的一个模块大部分都是有固定主题的,并且同一网站中同一主题的页面URL,都有一定的规律可循。针对这种情况,通过URL预测页面主题的思路也就自然而生了。除此之外,页面中绝大部分超链接都是带有锚文本的,而锚文本基本可以看做是对目标页面的概括描述。结合对URL的分析和对锚文本的分析,对目标页面进行主题预测的正确率也就相当可观了。显而易见,针对URL的主题预测策略,可以有效的减少不必要的页面下载,节约下载资源,加快下载速度。然而,这种预测结果并不能完全保证丢弃的URL都是与主题无关的,因此会有一些遗漏。同时,这种方式也无法确保通过预测的页面都是与主题相关的,因此需要对通过的预测的URL页面进行页面内容主题提取,再对比与设定的主题做出取舍。


通过上面的分析,得出一般的解决方法。就是先通过URL分析,丢弃部分URL。下载页面后,对页面内容进行主题提取,对比预设定的主题做取舍。最后进行数据清洗。



1.3 架构


深聚焦爬虫的一般结构如下图:


3.png




六个主要的组成部分【控制中心】【下载模块】【抽取模块】【清洗模块】【消重模块】【资源模块】

控制模块:控制模块由程序出入口、下载调度策略、抽取调度策略、清洗调度策略和URL消重调度策略组成。程序出入口是程序开始、初始化和结束地方。下载调度策略根据当前需要下载的网页,分配IP,COOKIE等下载资源,并根据页面下载器的反馈(失败或成功),决定程序下一步的走向。抽取调度策略根据当前已经下载的页面队列情况,来决定调用抽取模块对某一部分页面进行抽取以及调用抽取模块中的哪一种抽取模式。清洗调度策略根据抽取的文本和URL队列情况,决定其被清洗的优先度,从而有序的清洗数据。URL消重策略根据URL队列情况决定何时调用URL消重器,避免内存中存储过多的URL。


下载模块:根据控制中心传过来的URL,IP,COOKIE等下载资源下载页面,并将下载结果返回给控制中心。

抽取模块:接受控制中心下发的页面源代码和抽取指标,根据抽取指标对源代码进行抽取,并将抽取结果返回控制中心。

清洗模块分为文本清洗和URL清洗,文本清洗根据预设的主题以及相对应的主题相关度算法,决定是舍弃文本,还是将文本保存入库。URL清洗是根据URL分析结果,预测当前URL所链接的页面是否与主题相关,若相关则将URL返回控制中心,反之丢弃此URL。

URL消重模块:针对有些主题突出的页面被许多页面链接,从而导致大量重复下载此页面造成资源浪费和数据质量低下的情况,调用消重模块将重复的URL丢弃,将不重复的URL返回到下载资源模块的URL队列中。

资源模块:保存有下载所需要的所有资源,包括代理IP,COOKIE,URL等信息。


2聚焦爬虫的发展

大数据时代,对数据的多样性和针对性要求越来越高。随之爬虫的架构方式也更加灵活多变。比较常见的开源爬虫框架有Crawler4j、WebMagic、WebCollector、scrapy等。另一方面,针对爬虫的抓取,被抓取网站也制定了相应的防爬虫措施。常见的防爬虫方式有如下几种:

一、针对频繁访问网站的IP设定访问限制。这是最常见的一种放爬虫方式,具体体现是,在一个单位时间内,同一个IP的请求数量达到了网站设计的阀值,这个IP就被限制访问。面对这种情况,可以制定适当的IP访问策略。


二、使用js和ajax技术的动态页面。这样的网页源代码中并没有包含所需的数据,数据包裹存在于二次请求的返回文档中。针对这样的页面,可以分析请求过程,提取二次请求的URL,进而得到想要的数据。


三、其他情况:随着互联网的不断发展,出现了各种各样的防爬虫方式。这就需要人们根据实际情况,针对性的解决问题。比如使用模拟浏览器(htmlunit,selenium)技术等。


总之,没有一成不变的互联网,就没有一成不变的爬虫,拥抱变化,才能让爬虫爬的更远。



3爬虫在互联网金融领域的应用

聚焦爬虫作为数据的主要来源之一,下面就说说聚焦爬虫的应用场景,以我所就职的普惠金融信息服务(上海)有限公司(后面简称普惠)为例。

普惠金融是一家致力于让每一位普通人都享有更公平、更高效、更透明的金融信息服务的金融服务公司。公司的主要业务是微小型贷款。线上有爱钱进和借啊APP,线下各大城市有实体店。现如今的小额贷款公司基本上都是无抵押贷款,这对公司的风险控制提出了很高的要求。如何判定一个人是否有能力并且有意愿还款、如何将那些骗贷的没有信用的人拒之门外成了小额贷款公司生存的首要任务。响应大数据的时代潮流,普惠公司领导人提出了由数据驱动业务发展的先进理念,普惠大数据中心应运而生。


数据驱动,就是得到前来普惠贷款的客户的指定数据,根据这些数据以及相应的一套算法策略,给客户定义一个标签。借贷部门根据客户的标签决定是否贷款给该客户以及贷多少给该客户。通过这种定义标签的方式,普惠大数据中心有效阻止大部分骗贷的发生,从而规避风险。


4.png



那么普惠大数据中心是如何判断客户的信用的呢?粗略的分为两个方面:

1、微贷行业中判断一个人是否有能力还贷款有一套传统的方法。那就是查看这个人的购物习惯,客户提供的账单流水信息等。这种方法相信一个人若是经常在网上购物、有详细的银行账单并且有正常的通话记录,那么这个人是一个正常的且有一定的经济能力的人。也就是说,这样的人是有能力还贷款的。相对于发达国家健全的征信系统,在中国这种评价方式在一定时间内,是可行有效的。


2、另一方面,我们相信绝大多数的骗子并不是来普惠贷完款后才变成骗子的。骗子来普惠贷款之前就已经是骗子。那么在骗子的行骗生涯中,或多或少的会在互联网上留下痕迹。比如,有许多专门曝光骗子老赖的网站,也有许多骗子在一些社交网站上有人针对曝光。针对这些曝光的数据,大数据中心使用聚焦爬虫进行爬取,然后将爬取到的数据保存到普惠的黑名单中。


有上面两点可以看出来,不管是爬取交易账单等信息,还是抓取曝光的骗子等数据,都离不开聚焦爬虫的应用。


普惠大数据中心现有百多人的团队在开发和维护风控系统,从成立至今,普惠大数据中心的数据来源由单一的几个网站增长到了现在上百个网站,信用评价指标达到上千个维度。在不断完善,发现和创新中,大数据中心传统方式的风控水平已经到达行业领先水平。


然而,随着互联网的不断发展变化,人们对微贷行业的逐渐了解。一些置身大数据风控的人逐渐发现,通过传统方式做风险控制越来越困难。通过传统方式爬取的数据,基本都是属于一个人的点状数据,并且是片面的点状数据。何为点状数据?若是把所有人看成一个整体数据,那么最形象的结构就是一张人物关系数据网。每个人都是网中的一个节点,即每个人的数据就是一个点状的数据。由于个人隐私的原因,我们无法也不可能得到一个人的全方位数据,只能截取其中的一个或几个片面(交易纪录,信用卡信息等)。通过这些数据来判断一个人的信用等级有两个弊端,一是数据的不全面会导致判断的失准,这个弊端无法避免,只能尽可能多的得到数据,并制定更优化的算法模型;二是点状的数据随着互联网的发展有了更多造假的可能性。比如说电商的交易记录,若是有心造假,很容易就可以制造一批完全符合高信用等级的交易记录。因此,点状数据在未来的风控系统中所占的比重会逐渐减少。

相对应于点状数据的不足,爬虫界有人提出了建立网状数据的可能性。基本想法是,通过聚焦爬虫爬取各大社交网站,根据这些数据建立人物关系网络,在关系网络的结构中,给每个人添加补充各个维度的数据。其理想的数据集合是每个来普惠贷款的人都存在于普惠大数据中心的人物关系网络中。并且我们知道其关系密切的人的标签(画像)。例如张三来普惠贷款,大数据中心不但要知道张三的信用评价,还要知道与张三关系紧密的若干人的信用评价。这有什么用呢?假设张三贷款的场景如下:张三通过大数据中心的传统信用评价方式,得到了信用良好的评价。但是,我们通过关系网络发现与张三关系密切的人中,有多个人在信用评价中得到了信用低下的评价,甚至在普惠的黑名单中。这个时候我们就要怀疑张三的数据是否是精心假造的。根据物以类聚,人以群分的道理,我们相信这种怀疑是很有必要的。

张三的人物关系网络图:


5.png


由上张图可以发现,张三信用良好的评价并不可靠。恰恰相反,贷款给张三的风险反而会很大。传统的风控方式显然并不能规避这种风险,但是这种风险会随着骗贷人越来越了解贷款公司的信用评价方式而越来越多。试想,在未来的时间里,由于骗贷人对公司的风控有了大致方向的了解,从而在某一方面或很多方面伪造了良好的记录。大数据中心爬取了这些数据从而错误的判断了信用等级,那贷款公司所承受的风险将会急剧扩大。

针对未来这种风险,人物关系数据网络给出了解决的可能性。若是没有完善且可靠的官方征信系统的出现,人物关系数据网络将是未来无抵押贷款公司风险控制的主流方式。然而建立人物关系数据网络并不是一朝一夕的事情。


4结语

每一个社交网站都有海量的数据,和海量数据成正比的是社交网站的防爬虫策略。这就对爬虫提出了更高更严格的要求,也更细化了不同爬虫之间的差异。然而一成不变不是互联网的主调,依存互联网生存的公司,更要学会拥抱变化,甚至预测变化,方能在未来乘风破浪,越行越远。







已有(5)人评论

跳转到指定楼层
xuliang123789 发表于 2016-1-26 09:39:49
谢谢楼主,学习一下,楼主辛苦,赞~
回复

使用道具 举报

a530491093 发表于 2016-2-1 10:26:51
这么好的文章没人顶   我来顶。
回复

使用道具 举报

ljlinux2012 发表于 2017-3-2 00:09:29
dddddddddddd
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条