[go] 속성 추출

웹 페이지를 크롤링하여 HTML 속성을 추출하는 것은 데이터 수집 및 웹 스크래핑에 매우 유용합니다. 예를 들어, 특정 웹 페이지에서 제품 가격, 이미지 URL 또는 리뷰 등을 추출할 수 있습니다.

라이브러리 설치

Go에서는 goquery 라이브러리를 사용하여 웹 페이지의 HTML을 분석하고 속성을 추출할 수 있습니다. 아래는 goquery를 설치하는 방법입니다.

go get github.com/PuerkitoBio/goquery

웹 페이지 접근 및 속성 추출

다음은 Go를 사용하여 웹 페이지에서 HTML 속성을 추출하는 간단한 예제입니다. 아래 예제에서는 웹 사이트로부터 이미지 URL을 추출하는 방법을 보여줍니다.

package main

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

	"github.com/PuerkitoBio/goquery"
)

func main() {
	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("img").Each(func(i int, s *goquery.Selection) {
		imgSrc, exist := s.Attr("src")
		if exist {
			fmt.Println(imgSrc)
		}
	})
}

위의 예제에서는 goquery.NewDocumentFromReader를 사용하여 웹 페이지의 HTML을 분석하고, FindEach를 사용하여 이미지 태그에서 src 속성을 추출합니다.

이제 여러분은 Go를 사용하여 웹 페이지에서 속성을 추출하는 방법에 대해 알게 되었습니다. 이러한 기술은 데이터 수집 및 웹 스크래핑 프로젝트에서 매우 유용하게 사용될 수 있습니다.

물론, 크롤링 또는 스크래핑 시에는 웹 사이트의 이용 약관과 로봇 배제 표준을 준수해야 합니다.

참고 자료