[go] Go 언어로 특정 기간 동안의 웹 데이터 크롤링하기

이번에는 Go 언어를 사용하여 특정 기간 동안의 웹 데이터를 크롤링하는 방법에 대해 알아보겠습니다. Go 언어는 강력한 웹 크롤링 라이브러리인 goquery를 제공하기 때문에 이를 활용하여 간편하게 웹 데이터를 수집할 수 있습니다.

goquery 설치하기

여기서는 goquery를 사용하여 웹 데이터 크롤링을 진행하므로, 먼저 goquery를 설치해야 합니다. 아래의 명령어를 사용하여 goquery를 설치할 수 있습니다.

go get github.com/PuerkitoBio/goquery

웹 데이터 크롤링하기

다음은 Go 언어를 사용하여 특정 기간 동안의 웹 데이터를 크롤링하는 예제 코드입니다. 이 예제에서는 네이버 실시간 검색어를 크롤링하고 결과를 출력합니다.

package main

import (
	"fmt"
	"log"
	"net/http"

	"github.com/PuerkitoBio/goquery"
)

func main() {
	// HTTP GET 요청을 보냅니다.
	res, err := http.Get("https://www.naver.com/")
	if err != nil {
		log.Fatal(err)
	}
	defer res.Body.Close()

	if res.StatusCode != 200 {
		log.Fatalf("status code error: %d %s", res.StatusCode, res.Status)
	}

	// 받아온 HTML 데이터를 파싱합니다.
	doc, err := goquery.NewDocumentFromReader(res.Body)
	if err != nil {
		log.Fatal(err)
	}

	// 실시간 검색어를 선택합니다.
	doc.Find("#realrank").Each(func(i int, s *goquery.Selection) {
		// 실시간 검색어를 출력합니다.
		s.Find("li").Each(func(i int, s *goquery.Selection) {
			fmt.Println(s.Text())
		})
	})
}

위의 코드에서는 먼저 http.Get() 함수를 사용하여 웹 페이지로 GET 요청을 보낸 후, 받아온 HTML 데이터를 goquery를 사용하여 파싱합니다. 그리고 실시간 검색어를 선택하여 출력합니다.

마무리

위의 예제 코드를 실행하면 특정 기간 동안의 웹 데이터를 간단하게 크롤링할 수 있습니다. Go 언어의 강력한 웹 크롤링 라이브러리인 goquery를 활용하여 더 다양한 웹 데이터 크롤링을 수행할 수 있으니, 여러분의 프로젝트에 맞게 활용해보세요.