0 0

nutch抓取繁体乱码5

nutch在爬取站点时。网页内容出现繁体中文乱码。怎么回事,知道的告诉下,谢了

问题补充:问题补充:
     1.我是从nutch源码中拦截网页内容进行操作的,所以在tomcat中设置是没用的。
     2.使用big5转码的话。网页内容是由简繁体结合的。所以big5了,简体会出问题。
知道的帮忙下。谢了
2010年5月08日 09:56

3个答案 按时间排序 按投票排序

0 0

引用
2.使用big5转码的话。网页内容是由简繁体结合的。所以big5了,简体会出问题。


如果含有需多种编码方式(简体和繁体)的字符集。使用国际标准字符集Unicode,编码使用常见的UTF-8.

2010年5月10日 10:27
0 0

获取页面内容后用指定编码“big5”的InputStreamReader读取。

InputStream is = new InputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is,"big5")); 
while ((sLine = br.readLine()) != null) {
代码处理………………
}

2010年5月08日 10:32
0 0

搜索页面上的部分中文出现乱码。该问题主要由jsp:include引起。将被包含文件nutch\zh\include\header.html由UTF-8转换为GBK,修正该问题。

搜索中文出现乱码。修改tomcat配置文件tomcat6\conf\server.xml。增加URIEncoding/useBodyEncodingForURI两项。

<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443"

URIEncoding="UTF-8"

useBodyEncodingForURI="true"/>

网页快照乱码问题修正。修改页面tomcat6\webapps\nutch\cached.jsp,将content = new String(bean.getContent(details))修改为content = new String(bean.getContent(details),"utf-8")。

apache整合。修改apache配置文件\conf\httpd.conf,增加如下配置

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_http_module modules/mod_proxy_http.so

<IfModule mod_proxy.c>

ProxyPass /nutch http://localhost:8080/nutch

ProxyPassReverse /nutch http://localhost:8080/nutch

</IfModule>


url问题。在和apache整合后会出现url不正确的问题。主要表现为用户看到的url的前缀为ProxyPass中配置的url。目前还没有比较好的解决方案,只能手动修改所有问题jsp页面。使用命令findstr /s requestURI *.jsp查找出所有问题页面。在String base = requestURI.substring(0, requestURI.lastIndexOf('/'));后面增加base = base.replace("localhost:8080", "mysite.com");,将错误的url替换为正确的url地址。

删除页面tomcat6\webapps\nutch\cached.jsp,关闭网页快照功能。由于部分页面,当前用户可能无访问权限,关闭快照功能。

中文问题修改

Nutch默认支持中文搜索,只是Nutch对中文采用安字进行分词,例如搜索“中国”不使用双引号,将返回所有包含“中”和“国”的网页。为方便使用,系统自动为搜索内容添加双引号。


修改文件tomcat6\webapps\nutch\search.jsp。增加格式化搜索字符的函数,同时对queryString进行处理。

<%!

public static String format_query_str(String s) {

s = s.replace("”", "\"").replace("“", "\"");// 处理中文符号

if (s.indexOf("\"") > -1) {// 如果包含"则不继续进行处理

return s;

}

String[] ss = s.split(" ");

String ret_s = "";

for (String str : ss) {

if (str.trim().equals("")) {

continue;

}

if (str.indexOf("-") == 0) {

str = "-\"" + str.substring(1) + "\"";

} else {

str = "\"" + str + "\"";

}

ret_s += str + " ";

}

return ret_s.trim();

}

%>

queryString = format_query_str(queryString);


搜索帮助


使用方法和常见的搜索引擎类似,支持多关键字,多个关键字之间使用空格进行分割。
对中文采用安字进行分词,因此对中文搜索时最好加上双引号。例如搜索“中国”如果不使用双引号,将返回所有包含“中”和“国”的网页。
可以在一个词前面加减号丛而禁止它出现在搜索结果中, 例如, 搜索football -nfl 会找到讨论football, 但不出现"nfl"的网页。
搜索英文单词不区分大小写, 因此搜索NuTcH 等同于搜索 nUtCh。

2010年5月08日 10:04

相关推荐

    nutch部分网页乱码BUG修正

    在Nutch中,当它抓取到不同编码格式的网页时,如果没有正确地识别和转换这些编码,就会出现乱码现象。主要涉及以下几个方面: 1. **URL编码**:Nutch在抓取URL时,应考虑URL中可能包含的非ASCII字符。这些字符需要...

    nutch乱码BUG修正

    Nutch是一款开源的网络爬虫项目,用于抓取和索引互联网上的网页。在处理大量文本数据时,可能会遇到字符编码问题,导致显示为“乱码”。本篇将深入探讨Nutch乱码的问题,以及如何进行修复。 乱码通常发生在以下几个...

    Nutch在Tomcat下的部署.doc

    Nutch 是一个开源的网络爬虫项目,用于抓取互联网上的网页并建立索引,而Tomcat是一款流行的Java应用服务器,常用来部署Web应用程序。在本文中,我们将深入探讨如何在Tomcat环境下部署Nutch以及解决相关问题。 首先...

    Nutch使用入门

    Nutch 是一个开源的网络爬虫项目,主要设计用于抓取和索引互联网上的网页,以便进行全文搜索。本文档将引导你入门Nutch的基本使用,包括环境配置、部署、爬取网页以及搜索功能的实现。 **环境要求:** 1. **JDK 1.5...

    nutch根据URL来查找快照2

    3. **快照创建与存储**:Nutch抓取的网页会被保存为快照,这些快照包含了原始HTML内容,用于后续的索引和搜索。当Nutch遇到中文URL时,如果快照保存不当,可能会导致中文URL在存储时出现乱码,从而影响到快照的正确...

    实验报告(利用Nutch和IKanalyzer构造中文分词搜索引擎)

    通过执行bin/nutch crawl命令,可以开始网页抓取,并在nutch-0.9目录下生成crawl文件夹存储结果。 然后,测试Nutch自带的搜索引擎。将nutch-0.9-war部署到Tomcat服务器上,并对nutch-site.xml进行配置。在运行过程...

    Linux下Nutch单机配置

    在配置完成后,就可以使用Nutch来进行网页的抓取和处理了。需要注意的是,在实际应用过程中可能会遇到各种问题,比如中文乱码等。这时就需要进一步调整配置文件,比如在 `server.xml` 中增加编码配置。 总之,在...

    Nutch全文搜索学习笔记

    通过以上步骤,我们可以成功安装并配置Nutch,实现网页抓取、内容解析、索引创建及全文检索等功能。此外,针对中文支持进行了特别配置,以解决乱码问题。这些组件和配置构成了Nutch的核心架构,为实现高效全文搜索...

    nutch无法下载中文文件的问题

    首先,Nutch 在抓取网页时,默认使用的是 ASCII 编码,这可能导致对包含中文字符的 URL 处理不当。在中文环境下,URL 必须用 UTF-8 编码,否则可能会出现乱码或无法正确解析的情况。要解决这个问题,你需要在 Nutch ...

    利用开源工具搭建小型搜索引擎

    基于开源搜索引擎工具(如Heritrix +Lucence,或Nutch+Solr),搭建独立完整的搜索引擎测试平台。 2)垂直搜索行业信息:自主选择某一感兴趣行业,抓取相关行业内容。以抓取结果作为数据库,建立垂直搜索引擎,实现...

Global site tag (gtag.js) - Google Analytics