[go] HTML 파싱

Go 언어는 강력하고 빠른 웹 스크래핑을 위한 훌륭한 도구를 제공합니다. Go 언어의 내장된 HTML 파서와 강력한 표준 라이브러리를 활용하여 HTML 문서를 파싱하고 데이터를 추출하는 것은 매우 쉽습니다. 이 블로그 글에서는 Go를 사용하여 HTML 파싱을 하는 방법에 대해 알아보겠습니다.

HTML 파싱 라이브러리

Go에는 HTML을 파싱하고 데이터를 추출하기 위한 다양한 라이브러리가 있습니다. 그 중에서도 가장 인기 있는 라이브러리는 goquery입니다. goquery는 jQuery 스타일의 문법을 사용하여 HTML 문서를 파싱하고 조작할 수 있는 기능을 제공합니다.

다음은 goquery를 사용하여 HTML 문서를 파싱하는 간단한 예제 코드입니다.

package main

import (
	"fmt"
	"log"

	"github.com/PuerkitoBio/goquery"
)

func main() {
	doc, err := goquery.NewDocument("http://example.com")
	if err != nil {
		log.Fatal(err)
	}

	doc.Find("a").Each(func(i int, s *goquery.Selection) {
		link, _ := s.Attr("href")
		fmt.Println(link)
	})
}

위의 코드는 goquery 라이브러리를 사용하여 “http://example.com” 웹 페이지에서 모든 링크를 추출하는 간단한 예제입니다.

데이터 추출

HTML 문서를 파싱한 후에는 원하는 데이터를 추출할 수 있습니다. 예를 들어, 웹 페이지에서 특정 태그의 내용을 가져오거나 속성 값을 추출할 수 있습니다.

다음은 goquery를 사용하여 HTML 문서에서 특정 태그의 내용을 추출하는 예제 코드입니다.

title := doc.Find("title").Text()
fmt.Println("Title:", title)

위의 코드는 파싱된 HTML 문서에서 <title> 태그의 내용을 가져와 출력하는 예제입니다.

결론

Go 언어를 사용하여 HTML을 파싱하고 데이터를 추출하는 것은 매우 간단하고 효율적입니다. goquery와 같은 라이브러리를 활용하여 웹 스크래핑을 할 때 손쉽게 원하는 데이터를 추출할 수 있습니다.

이러한 라이브러리들을 잘 활용하면 빠르고 효율적인 웹 스크래핑 애플리케이션을 쉽게 개발할 수 있습니다.

참고 자료