Haskell:
웹 페이지 다운로드하기
How to: (얼마나 쉬운가?)
Haskell에서 웹 페이지를 다운로드하려면 http-conduit
라이브러리를 사용할 수 있습니다. 간단한 예제로 시작해봅시다.
-- 필요한 모듈을 가져오세요.
import Network.HTTP.Simple
-- URL에서 웹 페이지를 다운로드하는 함수입니다.
downloadPage :: String -> IO ByteString
downloadPage url = do
response <- httpBS (parseRequest_ url)
return (getResponseBody response)
main :: IO ()
main = do
-- 원하는 URL을 이곳에 넣으세요.
content <- downloadPage "http://www.example.com"
putStrLn $ "The page content is: " ++ (unpack content)
실행 결과, 화면에 “http://www.example.com” 페이지의 내용이 표시됩니다.
Deep Dive (심도 있는 분석)
웹 페이지를 다운로드하는 개념은 월드 와이드 웹이 등장한 초기부터 있었습니다. 초기에는 단순 HTTP GET 요청을 통해 이뤄졌으며, curl
또는 wget
같은 도구들이 이용되곤 했습니다.
Haskell에서는 여러 라이브러리가 이 기능을 지원하는데 http-conduit
는 일반적으로 사용되며, curl
이나 wreq
같은 다른 옵션들도 있습니다.
http-conduit
를 사용하는 것의 이점은 메모리 효율성과 스트리밍 다운로드 기능을 포함합니다. 이는 큰 파일이나 스트리밍 API를 처리할 때 유리합니다.
See Also (추가 자료)
http-conduit
라이브러리: https://www.stackage.org/package/http-conduitcurl
Haskell 라이브러리: https://hackage.haskell.org/package/curlwreq
: https://hackage.haskell.org/package/wreq- Haskell에서 HTTP 요청을 처리하는 방법에 대한 더 깊은 토론을 위한 공식 문서나 포럼: https://www.haskell.org/