2017-03-01 105 views
-1

什么是从网站获取页面以及在clojure中处理404重定向的最佳方式。Clojure从网站获取html页面

我已经使用了enlive,但它会自动转换页面,我不想将它存储在数据库中供以后参考。

(defn fetch-page [url] 
    (html/html-resource (java.net.URL. url))) 

我经历了slurp来获得原始的HTML内容,但我不知道这是否是检索来自外部网站的东西是最好的方法。

(println (slurp "http://www.google.com/doesnotexists.html")) 

输出:

第二个问题我已经被处理404,是什么来处理它的最佳方式,我Clojure的非正常程序,当它遇到一个404

代码存在

CompilerException java.io.FileNotFoundException:http://www.google.com/doesnotexists.html

回答

0

404不是重定向,它表示“未找到”。但无论如何,你可以处理异常你处理Clojure中的任何异常以同样的方式...与try/catch

(try 
    (slurp "http://www.google.com/doesnotexists.html") 
    (catch java.io.FileNotFoundException ex 
    <handle exception...>)) 
+0

甜的感谢,这就是我要找的。 – Stixxxx