Nutch在Tomcat下的部署
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如果已经抓取成功,则可以在Tomcat上部署了
将nutch-0.9 war解压出来,命名为nutch,复制到tomcat目录/webapps下
修改/webapps/nutch/WEB-INF/classes/nutch-site.xml :
将
换成
Y our_crawl_dir_path 指刚才抓取网页时网页保存的文件夹,比如我的就是:D:\nutch-0.9\crawled2,上面则要写D:\\nutch-0.9\\crawled2
最后在浏览器中输入http://localhost:8080/nutch ,就可以看到nutch的搜索界面了。
这时候的nutch在搜索时可能会出现中文乱码,其实这是tomcat的问题。
解决办法:对/tomcat/apache-tomcat-6.0.20/conf 目录下的server.xml做一下修改:
将
connectionTimeout="20000" redirectPort="8443" /> 改为 connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" useBodyEncodingForURI="true"/> 然后重启tomcat即可。 搜索结果: 抓取动态网站的问题:需要注意在conf下面的2个文件:regex-urlfilter.txt,crawl-urlfilter.txt # skip URLs containing certain characters as probable queries, etc. -[?*!@=] (-改+) 这段意思是跳过在连接中存在? * ! @ = 的页面,因为默认是跳过所以,在动态页中存在?一般按照默认的是不能抓取到的。可以在上面2个文件中都修改成:# skip URLs containing certain characters as probable queries, etc. # -[?*!@=] 另外增加允许的一行 # accept URLs containing certain characters as probable queries, etc. +[?=&] 意思是抓取时候允许抓取连接中带? = & 这三个符号的连接 注意:两个文件都需要修改,因为NUTCH加载规则的顺序是crawl-urlfilter.txt-> regex-urlfilter.txt 。 简单的分页效果: 1.修改:int hitsPerSite = 0; // max hits per site 2.将代码: <% if ((hits.totalIsExact() && end < hits.getTotal()) // more hits to show || (!hits.totalIsExact() && (hits.getLength() > start+hitsPerPage))) { %> "> <% if (sort != null) { %> <% } %> <% } if ((!hits.totalIsExact() && (hits.getLength() <= start+hitsPerPage))) { %>
"> <% if (sort != null) { %>
<% } %>
<%
}
%>
修改成:
<% if (start >= hitsPerPage) // more hits to show { |