作业第三步----Top10的最重要页面(续)

来源:互联网 发布:matlab方波bp算法 编辑:程序博客网 时间:2024/05/22 14:28

由于此前在Heritrix中自定义的Extractor保存了如下几个文件:

1.入度;格式为url+“/n”+入度数

例如:http://hmwu.ccer.edu.cn/

         1

2.出度,格式同上

3.url及其链出的url

例如:http://www.ccer.pku.edu.cn/cn/Images/arrow.gif

         +(表示开始)

         javascript:history.back(1)

         http://go.microsoft.com/fwlink/?linkid=8180

         @(表示结束)

因此当改变思路需要使用稀疏矩阵保存和计算结果是就需要对以上几个文件进行预处理。我们的思路是:首先,隔行读取2中的文件,建立一个Map,key为url,value为一个顺序的正数(以此将url与数字形成一对一映射方便后续的处理)。

然后,根据文件3的格式对应上一部中取得的Map建立连接关系,并按照稀疏矩阵的格式保存在文件中。

接着,扫描该文件,利用vector保存每组数值,然后循环处理每一行(其实为上一步中所存矩阵的列),根据pageRank算法,如果无出度则该行为1/N,否则扫描vector看看该位置是否存在连接关系,存在则置为1/count(N),否则置为0。依次进行迭代,最终算出每个URL对应的权值,具体结果如下图

然而在排列这组值的时候,我们发现有一组页面的位置非常靠前,大概在13位之后一直是该文件夹下的页面,集中于http://www.ccer.pku.edu.cn/stat/之下,分别为

 FAddress.asp,Default.asp,FIptwo.asp等网页,我们分析之后,觉得问题可能还是出现在抓取的过程中,为了加快速度,而减少了页面响应的时间,因此有些页面由于响应时间略长而被丢弃,最终影响了结果。对于这个问题我们会找机会重新进行抓取已验证这个想法的真实性。

 

原创粉丝点击