[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!