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

由于此前在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中的文件,建立一个Mapkeyurlvalue为一个顺序的正数(以此将url与数字形成一对一映射方便后续的处理)。

 

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

 

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

 

 

 

然而在排列这组值的时候,我们发现有一组页面的位置非常靠前,大概在13位之后一直是该文件夹下的页面,集中于http://www.ccer.pku.edu.cn/stat/之下,分别为FAddress.aspDefault.aspFIptwo.asp等网页,我们分析之后,觉得问题可能还是出现在抓取的过程中,为了加快速度,而减少了页面响应的时间,因此有些页面由于响应时间略长而被丢弃,最终影响了结果。对于这个问题我们会找机会重新进行抓取已验证这个想法的真实性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值