2: 我们得到的Heritrix Crawl Job Report

关于Heritrix URL乱码问题, 可以通过修改源码解决.

org.archive.crawler.writer.MirrorWriterProcessor.joinParts()

StringBuffer sb = new StringBuffer(length());
            String ss = null;
            sb.append(mainPart.asStringBuffer());
            if (null != uniquePart) {
                sb.append(uniquePart);
            }           
            if (suffixAtEnd) {
                if (null != query) {
                sb.append("@");
                    sb.append(query);
                }
                if (null != suffix) {
                    sb.append('.');
                    sb.append(suffix);
                }
            } else {
                if (null != suffix) {
                    sb.append('.');
                    sb.append(suffix);
                }
                if (null != query) {               
                    sb.append(query);
                }
            }            
            try {
     ss = new String(sb.toString().getBytes("ISO-8859-1"),"GB2312");
    } catch (UnsupportedEncodingException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
    return ss;

在对Heritrix进行配置并能够成功运行后, 我们调整了Heritrix的参数, 使其能够更快地抓取页面.

我们主要调整的是Frontier的参数, 调整后的参数如下:

Project 1-2: 我们得到的Heritrix Crawl Job Report

随后我们开始了抓取工作, 终于在十月一号早上抓完了ccer全站, 用时约19.5小时, 数据量1.6G, 文件数23814, 其中网页(txt/html/asp)数量19632.

以下是本次Crawl Job的报告:

Project 1-2: 我们得到的Heritrix Crawl Job Report

抓取工作结束后我们发现了一个比较严重的问题: 编码问题. 很多网页抓到本地后文件名是乱码, 而且没法解码(可能是因为文件名被破坏了). 不知道把Writer改为org.archive.crawler.writer.ARCWriterProcessor会不会部分解决这个问题.

下一步我们将进行Heritrix源代码分析和链接数据分析工作.

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/25786.html