该记录涉及到的系统为 CentOS 6.4
网站被skipped,提示Content of size 111534 was truncated to 63473
用tcpdump或者wireshark抓包发现,该网站的页面内容采用truncate的方式分段返回,而nutch的默认设置是不处理这种方式的
在nutch-site.xml加入配置
<property>
<name>parser.skip.truncated</name>
<value>false</value>
</property>
nutch爬取中文网页 readseg 命令dump出来的结果部分乱码或者在solr看到部分乱码解决方案
部分网页字符集编码没有设置
在htmlparse进行解析时,当找不到页面默认字符编码时,则设置编码为windows-1521 ,所以解析中文页面时,就乱码。
解决办法: 我们主要解析英文和中文网站,采用了折中的方法,更改默认解析字符集为:gb2312(或UTF-8)
在配置文件nutch-site.xml文件中增加如下属性:
<property>
<name>parser.character.encoding.default</name>
<value>gb2312</value>
<description>The character encoding to fall back to when no other information
is available</description>
</property>
执行爬取操作时,报如下错误:(我的主机名叫Nutch)
Exception in thread "main" java.net.UnknownHostException: Nutch: Nutch
at java.net.InetAddress.getLocalHost(InetAddress.java:1402)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:960)
解决方法,修改/etc/hosts 文件,改为如下所示:
127.0.0.1 Nutch localhost.localdomain
::1 Nutch localhost.localdomain