231 柬工案技术 理论研究 社交网络数据挖掘技术浅谈 邵佩佩 (湖北省武汉大学遥感信息工程学院,武汉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个字符作为向量的一个基,文本中某组或某 个汉字所出现的频率就构成了代表网页的向量,通过计算向量的夹角 确定是否是相同的网页。 由于每个字符对整个文本的重要性是不一样的,所以我们可以 给不同字符赋予不同的权重,而所有字符的权重构成了网页文本的 空间向量。类似于理论向量的计算过程,需要先计算两个网页文本 空间向量的夹角,然后依据该夹角来评估两个网页的相似程度。当 夹角小于某一个阈值时,就认为他们是同一类别f2]。 3.2面向客户的高级过滤 (1)提取关键词。TF—IDF指标,等于词频乘以权重,这个指标可 以帮助我们确定文档集中哪些词语是文本的关键词。TF—IDF实际是 TF*IDF,TF词频,IDF为逆向文件频率,若包含词条f的文档越少, IDF越大,而IDF与词条f的类别区分能力成正比。但在实际中这 并不十分合理,因而,我们选择加入词频,使指标更具有参考性。 词频是某给定的词在该文档中出现的频率,某特定文件内的高频率 的词语,和该词语在整个文件中的低文件频率[3]。故可以用该方法 过滤次要信息,选出重要的信息。从而循环得到文本中所有的关键词, 便于进一步进行分类存储。 (2)高级匹配。通过将提取过关键词的 信息依据某一兴趣特征进行相似度的匹配,当相似度超过某一预定 的阈值时,则化为一类,从而协同过滤。然而由于这样一来,不同 兴趣点的标准产生了不同类别的划分组别,导致信息存储的冗余, 可以通过建立分级索引,依据信息的不同特征属性进行存储,从而 便于通过不同层次的筛选得出所需信息。 4数据存储 通过调用MySQL来存储通过网络爬虫获取到的社交网络用户的 信息数据。MySQL由于其体积小、速度快、总体拥有成本低,尤其 是开放源码这一特点,所以选择了MySQL作为数据库,将数据保存 在各种不同的表格中,这提高了存储速度。调用MySQL所使用的 SQL语言是最常用标准化语言。 我们通过Twisted来连接mysql。Twisted是一个异步网络框 架,意味着标准数据库模块无法直接使用。同时,对于异步框架而 言,这些延迟是无法接受的。因此,Twisted提供了twisted.enterprise. adbapi,遵循DB—API 2.0协议的一个异步封装。从而将指定数据存储 进数据库中。 参考文献: [1]李毅.基于向量机的数据流聚类学习方法研究[Z],201 3. [2]王睿.面向垂直搜索引擎的网页抓取器的设计和实现[D].中国 海洋大学计算机技术,2009(11). [3]Matthew A.Rus Se11.Mining the Social Web【M].机械工业出版 社,201 2.