[go] 스크래핑한 데이터를 JSON 파일로 저장하기

이 블로그 포스트에서는 Go 언어를 사용하여 웹 스크래핑한 데이터를 JSON 파일로 저장하는 방법을 안내합니다.

필요한 라이브러리 가져오기

먼저, Go 언어를 사용하여 웹 스크래핑하기 위해 net/httpgithub.com/PuerkitoBio/goquery 라이브러리를 가져와야 합니다.

import (
	"log"
	"net/http"
	"os"
	"github.com/PuerkitoBio/goquery"
)

웹페이지 스크래핑하기

다음으로, 스크래핑할 웹페이지에서 데이터를 가져와야 합니다. 아래 예제는 간단한 HTML 페이지에서 제목들을 스크래핑하는 예제입니다.

func scrapeData() {
	res, err := http.Get("https://example.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)
	}

	doc, err := goquery.NewDocumentFromReader(res.Body)
	if err != nil {
		log.Fatal(err)
	}

	// 스크래핑한 데이터 처리
	doc.Find("h1").Each(func(i int, s *goquery.Selection) {
		// 데이터 처리 로직
	})
}

데이터를 JSON 파일로 저장하기

마지막으로, 스크래핑한 데이터를 JSON 파일로 저장할 수 있습니다.

func saveToJSON(data map[string]string) {
	file, err := os.Create("data.json")
	if err != nil {
		log.Fatal(err)
	}
	defer file.Close()

	// JSON으로 마샬링하여 파일에 쓰기
	encoder := json.NewEncoder(file)
	err = encoder.Encode(data)
	if err != nil {
		log.Fatal(err)
	}

	log.Println("Data has been saved to data.json")
}

위의 코드에서 data는 스크래핑한 데이터를 저장하는 맵입니다.

마치며

이제 Go 언어를 사용하여 웹 스크래핑한 데이터를 JSON 파일로 저장하는 방법을 알게 되었습니다. 이를 응용하여 다양한 웹페이지에서 데이터를 스크래핑하여 활용할 수 있습니다.

레퍼런스:

그럼 오늘은 여기까지입니다!
다음에 또 만나요!