b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

nutch使用_nutch plugin_nutch eclipse

电脑杂谈  发布时间:2017-05-28 05:05:54  来源:网络整理

nutch使用_nutch plugin_nutch eclipse

2014-08-22 by 轻狂.书生

题记:一步一坑,且行且珍惜

最近接到任务,要利用nutch去抓取公司内部系统的文章,可是需要登录才能抓到。对于一个做.net,不熟悉java,不知道hadoop,很少接触linux的我,这个过是艰难且痛苦的,盲人摸象搬的折腾出来了,但是我对hadoop还是没了解。这个东西在网上真的很难查到,我也是自己试验,网上零碎的片段拼起来的。nutch使用有些在网上可以随便找打的,我就不详细说明了,我只说明网上不好查到的内容。

本文是在假设你已经会简单使用nutch的条件下写的,如果需要基础配置,网上还是有较多的。

环境和软件(linux+ant+nutch)

step1:nutch 不支持表单登录,这个必须要对其进行二次开发。可是怎么编译是个很大的问题。我在网上看到别人写的windows+eclipse+cygwin,我自己配置了半天,但是还是没搞出来,算了,还是用linux吧,谁叫nutch就是用linux,hadoop的呢。

step2:去官网下载nutch-1.6-src,注意不是bin了,因为我们是要改代码的。现在nutch-2.1也出来了,但是我来之前就是用的1.6,没办法,接着做吧。

step3: 去官网下载ant,找个最新版本下载就可以了。这个是用来编译nutch的。我的版本是apache-ant-1.9.4-bin.tar.gz,但是ant版本并无太大影响。

step4:为ant配置环境变量,这个方法在网上有很多讲解,不细说了。nutch使用

二次开发nutch

怎么进行开发呢?由于我用eclipse没有让nutch跑起来,也不会编译,所以我采用最原始的办法,去改单个java文件,用ant去编译。

step1:怎么实现登录

用了一个简单粗暴的办法,在每次进行http请求时检查cookie jar 里面存不存在cookie,不存在就读取nutch.site.xml里面我们配置的登录链接,然后把cookie存进去,不管你抓取哪个网页,不管你用没用到,反正cookie就在了。

nutch eclipse_nutch使用_nutch plugin

参考地址:https://issues.apache.org/jira/browse/NUTCH-827

step2:补丁下载地址

http-client-form-authtication.patch 网盘下载地址:

nutch-http-cookies.patch 网盘下载地址:

step3:补丁使用方法

拿到补丁文件,感到欣喜万分,可是怎么用啊,完全不会啊。我把补丁文件研究了一下,发现了规律。除了httpBase在lib-http这个插件里面,我们其他的protocol-httpclient里面,按照补丁里面的++就是添加,--就是删除,根据上下文推出位置,新增代码或者新增类即可。注意每个版本代码已经有变化,但是找到自己决定合适的地方,总可以找到的。我用最原始的的办法,手动去修改了httpBase类和http类,按照补丁新增了几个类,这一步一定要细心,别copy错了。

+++ src/plugin/lib-http/src/java/org/apache/nutch/protocol/http/api/HttpBase.java (working copy)+++ src/plugin/protocol-httpclient/src/java/org/apache/nutch/protocol/httpclient/Http.java (working copy)

step4:怎么配置登录页面的地址

在nutch-site.xml里面添加登录信息即可,注意虽然上面的文章,补丁上都是nutch-default.xml,但是根据nutch xml顺序,加在nutch-site.xml即可.


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-49658-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...