[go] Go 언어로 텍스트 데이터 크롤링하기

Go 언어는 강력한 동시성 지원과 효율적인 메모리 관리 기능을 갖춘 프로그래밍 언어입니다. 이러한 특징으로 인해 Go 언어는 웹 크롤링과 스크래핑과 같은 작업에 적합합니다.

이번 블로그는 Go 언어를 사용하여 텍스트 데이터를 크롤링하는 방법에 대해 알아보겠습니다.

필요한 패키지 가져오기

Go에서는 net/http 패키지를 사용하여 웹페이지에 HTTP 요청을 보낼 수 있습니다. 또한, io/ioutil 패키지를 사용하여 응답 데이터를 읽을 수 있습니다.

import (
    "net/http"
    "io/ioutil"
)

웹페이지에 HTTP 요청 보내기

http.Get() 함수를 사용하여 웹페이지에 GET 요청을 보낼 수 있습니다. 요청에 대한 응답 객체를 반환하므로 이를 변수에 저장합니다.

response, err := http.Get("https://example.com")
if err != nil {
    fmt.Println("HTTP 요청 실패:", err)
    return
}
defer response.Body.Close()

응답 데이터 읽기

응답 객체의 Body 필드를 사용하여 데이터를 읽을 수 있습니다. ioutil.ReadAll() 함수를 사용하여 응답 데이터를 텍스트로 읽습니다.

body, err := ioutil.ReadAll(response.Body)
if err != nil {
    fmt.Println("응답 데이터 읽기 실패:", err)
    return
}

데이터 활용하기

이제 body 변수에 저장된 데이터를 원하는 방식으로 처리할 수 있습니다. 예를 들어, 데이터를 파일에 저장하거나 특정 문자열을 찾을 수도 있습니다.

fmt.Println(string(body))

실행 결과

<html>
<head>
<title>Example Domain</title>
...
</html>

위 예제에서는 “https://example.com” 웹페이지에서 가져온 HTML 코드를 출력합니다.

마무리

Go 언어를 사용하여 텍스트 데이터를 크롤링하는 방법에 대해 알아보았습니다. 이제 여러분은 Go 언어의 강력한 기능을 활용하여 웹 크롤러를 구현할 수 있을 것입니다. Happy coding!

참고 자료