2017-03-01 2 views
-1

웹 사이트에서 페이지를 가져 와서 clojure 내에서 404 리디렉션을 처리하는 가장 좋은 방법은 무엇입니까?Clojure에서 웹 사이트의 페이지를 html로 가져 오기

나는 활발히 사용했지만 페이지를 자동으로 변환합니다. 나중에 참조 할 수 있도록 DB에 HTML을 저장하고 싶지는 않습니다.

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

나는 원시 HTML 콘텐츠를 얻을 수 slurp 건너 온 적이 있지만이 외부 웹 사이트에서 물건을 검색 할 수있는 가장 좋은 방법입니다 나도 몰라.

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

출력 :

그것은 404

코드가 발생하면

그것을 처리하는 가장 좋은 방법이 무엇인지 나는 404을 처리 한 두 번째 문제는, 내 Clojure의 프로그램이 비정상적으로 존재

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

답변

0

404는 리디렉션이 아니므로 "찾을 수 없음"을 나타냅니다. 그러나 상관없이, 당신은 try/catch로 ...을 제외하고 당신이 Clojure의 어떤 예외를 처리 같은 방법으로 처리 할 수 ​​

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

달콤한 덕분에, 이것은 내가 무엇을 찾고있다. – Stixxxx

관련 문제