格式错误的网址:'',正在跳过(java.net.MalformedURLException

时间:2011-12-15 22:45:14

标签: nutch web-crawler

我用nutch 1.3抓取网站。当nutch抓取我的网站时,我在日志中看到此异常:

Malformed URL: '', skipping (java.net.MalformedURLException: no protocol: 
at java.net.URL.<init>(URL.java:567)
at java.net.URL.<init>(URL.java:464)
at java.net.URL.<init>(URL.java:413)
at org.apache.nutch.crawl.Generator$Selector.reduce(Generator.java:247)
at org.apache.nutch.crawl.Generator$Selector.reduce(Generator.java:109)
at org.apache.hadoop.mapred.ReduceTask.runOldReducer(ReduceTask.java:463)
at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:411)
at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:216)

我该如何解决这个问题?帮助我。

3 个答案:

答案 0 :(得分:2)

根据文件。 “抛出MalformedURLException表示发生了格式错误的URL。在规范字符串中找不到合法协议,或者无法解析字符串。”

这里要注意的是,当服务器关闭或路径指向丢失的文件时,不会抛出此异常。它仅在无法解析URL时发生。

错误表示无协议。并且抓取工具也看不到任何网址

格式错误的网址:'',正在跳过(java.net.MalformedURLException:无协议:

这是我遇到的有趣文章,看看http://www.symphonious.net/2007/03/29/javaneturl-or-javaneturi/

您尝试解析的确切网址是什么?

答案 1 :(得分:1)

使用regex-urlfilter.txtseed.txt设置所有设置后,请尝试以下命令:

./nutch plugin protocol-file org.apache.nutch.protocol.file.File file:\\\e:\\test.html

(如果文件位于我的示例中的e:\test.htm

在此之前,我总是跑这个

./nutch plugin protocol-file org.apache.nutch.protocol.file.File \\\e:\test.html

并收到此错误,因为缺少协议file:

  

java.netMalformedURLException:无协议:\\ e:\ test.html

答案 2 :(得分:0)

Malformed URL: ''

表示该网址为空,而不是http://www.google.com