[go] 스크래핑한 데이터를 JSON 파일로 저장하기
이 블로그 포스트에서는 Go 언어를 사용하여 웹 스크래핑한 데이터를 JSON 파일로 저장하는 방법을 안내합니다.
필요한 라이브러리 가져오기
먼저, Go 언어를 사용하여 웹 스크래핑하기 위해 net/http
와 github.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 파일로 저장하는 방법을 알게 되었습니다. 이를 응용하여 다양한 웹페이지에서 데이터를 스크래핑하여 활용할 수 있습니다.
레퍼런스:
그럼 오늘은 여기까지입니다!
다음에 또 만나요!