[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 데이터베이스의 접속 정보로 대체되어야 합니다.
마치며
이제 데이터를 스크래핑하고 데이터베이스에 저장하는 데 필요한 기본적인 단계를 살펴보았습니다. 이를 응용하여 원하는 형태의 데이터를 스크래핑하고 원하는 데이터베이스에 저장할 수 있을 것입니다.
관련 참고 자료: