[go] 스크래핑한 데이터를 데이터베이스에 저장하기

스크래핑한 데이터를 데이터베이스에 저장하는 것은 매우 일반적인 작업입니다. 이를 수행하기 위해서는 몇 가지 단계가 필요합니다. 여기서는 Go 언어를 사용하여 데이터를 스크래핑하고 데이터베이스에 저장하는 예시를 살펴보겠습니다.

스크래핑한 데이터 다운로드하기

우선, github.com/PuerkitoBio/goquery를 사용하여 데이터를 스크래핑합니다. 이 라이브러리를 사용하면 웹 페이지의 HTML을 가져와서 데이터를 추출할 수 있습니다. 다음은 간단한 예시 코드입니다.

package main

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

	"github.com/PuerkitoBio/goquery"
)

func main() {
	res, err := http.Get("http://example.com")
	if err != nil {
		log.Fatal(err)
	}
	defer res.Body.Close()

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

	// 데이터 스크래핑 및 가공
	doc.Find("div.article").Each(func(i int, s *goquery.Selection) {
		// 스크래핑한 데이터 처리
	})
}

데이터베이스에 저장하기

데이터를 스크래핑한 후에는 해당 데이터를 데이터베이스에 저장해야 합니다. Go 언어에서는 database/sql 패키지를 사용하여 다양한 데이터베이스에 접근할 수 있습니다. 아래는 MySQL을 사용하는 예시 코드입니다.

package main

import (
	"database/sql"
	"log"

	_ "github.com/go-sql-driver/mysql"
)

func main() {
	db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/dbname")
	if err != nil {
		log.Fatal(err)
	}
	defer db.Close()

	// 스크래핑한 데이터를 데이터베이스에 저장하는 로직
}

위의 코드에서 "user:password@tcp(127.0.0.1:3306)/dbname"는 실제 MySQL 데이터베이스의 접속 정보로 대체되어야 합니다.

마치며

이제 데이터를 스크래핑하고 데이터베이스에 저장하는 데 필요한 기본적인 단계를 살펴보았습니다. 이를 응용하여 원하는 형태의 데이터를 스크래핑하고 원하는 데이터베이스에 저장할 수 있을 것입니다.

관련 참고 자료: