웹 페이지 다운로드하기

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 (추가 자료)