海水正蓝

面朝大海,春暖花开
posts - 145, comments - 29, trackbacks - 0, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

【转】Heritrix 绑定IP、启动参数、中文乱码

Posted on 2012-12-21 12:34 小胡子 阅读(562) 评论(0)  编辑  收藏 所属分类: Heritrix

Heritrix资源

网络上的Heritrix中文资源比较少,整理一下:

 

中文:

l         《开发自己的搜索引擎 Lucene 2.0 + Heritrix》作者邱哲&符滔滔的BLOG

http://lucenebook.spaces.live.com/

 

l         《开发自己的搜索引擎 Lucene 2.0 + Heriterx第十章扩展Heritrix试读章节

(可以考虑开发的,比较有用)

http://book.csdn.net/bookfiles/312/10031212848.shtml

 

l         Heritrix笔记

http://wiki.hoodong.com/wiki/jRwNBCFgWA1dYB0NC

 

l         Heritrix crawler vs Nutch crawler

http://www.dbanotes.net/web/heritrix_crawler_vs_nutch_crawler.html

 

l         天下维客-爬虫程序

http://www.allwiki.com/wiki/Heritrix#Heritrix.E7.9A.84.E5.B1.80.E9.99.90

 

英文:

l         Heritrix主页

http://crawler.archive.org/

 

l         HTMLParser主页

http://htmlparser.sourceforge.net/

 
 

Heritrix绑定主机IP

关键字:Heritrix 127.0.0.1 IP 主机

 

Heritrix默认绑定的IP127.0.0.1

org.archive.crawler.Heritrix

 

final private static Collection<String> LOCALHOST_ONLY =

     Collections.unmodifiableList(Arrays.asList(new String[] { "127.0.0.1" }));

private static Collection<String> guiHosts = LOCALHOST_ONLY;

 

protected static String doCmdLineArgs(final String [] args)

throws Exception {

    // Now look at options passed.

        for (int i = 0; i < options.length; i++) {

            switch(options[i].getId()) {

                …

                case 'b':

                    Heritrix.guiHosts = parseHosts(options[i].getValue());

                    break;

                …

                default:

                    assert false: options[i].getId();

            }

        }

}

 

首先定义了默认IP127.0.0.1,然后赋给guiHost主机变量。当指定-b--bind参数时,才会把指定的IP赋给主机变量。

另外,中间还有一步参数处理,对于--xxxx参数会转为-x的形式统一处理,所以--bind-b有一样的效果。

 

Heritrix启动参数

关键字:Heritrix 启动 参数 bind admin properties

 

Heritrix的启动参数,除了--bind外,都可以在heritrix.properties设置,而不用每次都在命令行中输入。

如常用的--port, --admin等。

 

heritrix.cmdline.admin = admin:admin

heritrix.cmdline.port = 8080

heritrix.cmdline.run = false

heritrix.cmdline.nowui = false

heritrix.cmdline.order =

heritrix.cmdline.jmxserver = false

heritrix.cmdline.jmxserver.port = 8081

 

关于HeritrixExtractor中文乱码

关键字:Heritrix 中文 乱码 GB2312 Extractor

 

继承从org.archive.crawler.extractor.Extractor的子类,在extract方法中可以从参数CrawlURI中取出要解析的内容。

 

curi.getHttpRecorder().getReplayCharSequence.toString()

 

有中文时,不做处理会输出乱码。可以在取到的HttpRecorder后设置编码:

 

HttpRecorder hr = curi.getHttpRecorder();

if ( hr == null ) {

    throw new IOException( "Why is recorder null here?" );

}

hr.setCharacterEncoding( "gb2312" );

cs = hr.getReplayCharSequence();

System.out.println( cs.toString() );

 

原文出自:

http://blog.chinaunix.net/uid-8464637-id-2461166.html


只有注册用户登录后才能发表评论。


网站导航: