社交网络数据挖掘技术浅谈

2015-07-17 01:25邵佩佩湖北省武汉大学遥感信息工程学院武汉430072
山东工业技术 2015年8期
关键词:爬虫网页数据挖掘

邵佩佩(湖北省武汉大学遥感信息工程学院,武汉 430072)

社交网络数据挖掘技术浅谈

邵佩佩
(湖北省武汉大学遥感信息工程学院,武汉 430072)

进入大数据时代,各类社交网站包涵大量的信息数据,本次研究在开源的网络爬虫代码的基础上加以创新,研究出了一种新型比较高效的爬虫算法。通过对社交网络进行有目的的数据挖掘,并进行过滤提取所需信息,存储进预先设定的数据库。

大数据;网络爬虫;数据挖掘;数据库

1 引言

在信息爆炸的时代,互联网使我们可以得到海量数据,但并不是这些信息中只有一部分为能为我们所用。如何在海量数据中获取所需的信息,本次研究基于这个问题展开。在社交软件中,我们知道每个ID对应的都有一系列的属性信息,包括性别、年龄、出生地、所在地等等。首先是数据的获取,参考各类已有的工具,使用网络爬虫作为主要数据遍历的工具。其次,由于网站对IP设置了访问次数的限制,还需解决如何获取足够多数据的问题,通过借鉴其他的案例,我们采取了线程控制的机制,来控制单位时间的访问次数。接着是对数据的加工处理,并且通过编程的方式,使用程序将无用信息剔除,存储有用信息,读入数据库,构建信息链。

2 爬虫的实现

本次研究在开源爬虫代码的基础上进行创新,通过模拟登陆,并且结合实际网络特性利用线程方法控制单位时间内的访问次数,最后完成对数据的析取。

2.1 Python 模拟身份登陆

过程:首先利用加密的用户名和密码进行登陆,然后通过微博等社交网络的服务器得到cookies(Cookies就是服务器暂时存放在你的电脑里的资料,好让服务器用来辨认你的计算机)。

2.2 控制访问次数

由于新浪微博等网站对访问次数有限制,所以本次研究在单位时间内控制访问次数:(1)构造高级搜索对应的请求参数字符串。(2)发送请求并保存搜索结果。通过线程控制,程序等待一定时间。(3)根据设定的终止条件判定是否抓取完毕,否则循环进行步骤(1)。

2.3 进行数据分析与提取

通过网络爬虫抓取的为含有大量冗余无关数据的HTML文本数据,本次研究采用基于内核IE的网页抓取算法剔除所获数据中的冗余部分,最终保存相关数据到MySQL 数据库中。

3 数据组织与过滤

3.1面向内容的初步过滤

爬虫软件只能针对开源网页上的种子进行广度遍历,然而不可避免地会收集到重复的信息,如镜像网页等,这是可采取多种算法进行筛选重复信息,亦即网页消重。

算法1:排除相同的URL:在开源的爬虫代码基础上,分析不同网页的URL,规则是相同的URL代表相同的网页,此时需要去除重复的URL。本方法简单易实现,但没有利用文本内容信息,不能对转载等大体内容相近的网页进行区分筛选。

算法2:基于聚类去重法[1]:该方法是将网页的整体文本内容视为多维向量,以7000个字符作为向量的一个基,文本中某组或某个汉字所出现的频率就构成了代表网页的向量,通过计算向量的夹角确定是否是相同的网页。

由于每个字符对整个文本的重要性是不一样的,所以我们可以给不同字符赋予不同的权重,而所有字符的权重构成了网页文本的空间向量。类似于理论向量的计算过程,需要先计算两个网页文本空间向量的夹角,然后依据该夹角来评估两个网页的相似程度。当夹角小于某一个阈值时,就认为他们是同一类别[2]。

3.2 面向客户的高级过滤

4数据存储

通过调用MySQL来存储通过网络爬虫获取到的社交网络用户的信息数据。MySQL由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,所以选择了MySQL作为数据库,将数据保存在各种不同的表格中,这提高了存储速度。调用MySQL所使用的SQL语言是最常用标准化语言。

我们通过Twisted来连接mysql。Twisted 是一个异步网络框架, 意味着标准数据库模块无法直接使用。同时,对于异步框架而言,这些延迟是无法接受的。因此, Twisted 提供了 twisted.enterprise. adbapi, 遵循DB-API 2.0协议的一个异步封装。从而将指定数据存储进数据库中。

[1]李毅.基于向量机的数据流聚类学习方法研究[Z],2013.

[2]王睿.面向垂直搜索引擎的网页抓取器的设计和实现[D].中国海洋大学计算机技术,2009(11).

[3]Matthew A.Russell.Mining the Social Web[M].机械工业出版社,2012.

猜你喜欢
爬虫网页数据挖掘
利用网络爬虫技术验证房地产灰犀牛之说
改进支持向量机在特征数据挖掘中的智能应用
基于Python的网络爬虫和反爬虫技术研究
探讨人工智能与数据挖掘发展趋势
基于HTML5与CSS3的网页设计技术研究
基于事故数据挖掘的AEB路口测试场景
基于Scrapy框架的分布式网络爬虫的研究与实现
基于HTML5静态网页设计
谁抢走了低价机票
搜索引擎怎样对网页排序