[go] 웹 페이지 스크랩

목차

  1. 소개
  2. 구현
  3. 코드 예시
  4. 참고 자료

소개

웹 페이지 스크랩(웹 스크래핑)은 웹 사이트에서 정보를 추출하여 수집하는 프로세스를 의미합니다. 이 정보를 사용해 데이터 분석, 기계 학습, 업무 자동화 등 다양한 목적으로 활용할 수 있습니다. Go 언어를 사용하여 웹 페이지 스크랩을 구현하는 방법에 대해 알아보겠습니다.

구현

Go 언어에서는 웹 페이지 스크랩을 위해 net/http 패키지와 HTML 파싱을 위한 golang.org/x/net/html 패키지를 활용할 수 있습니다. 웹 페이지에 HTTP 요청을 보내고, 응답을 받은 후 HTML 문서에서 필요한 정보를 추출할 수 있습니다.

코드 예시

다음은 Go 언어를 사용하여 웹 페이지에서 특정 태그의 내용을 추출하는 예시 코드입니다.

package main

import (
	"fmt"
	"golang.org/x/net/html"
	"log"
	"net/http"
)

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

	doc, err := html.Parse(resp.Body)
	if err != nil {
		log.Fatal(err)
	}

	var f func(*html.Node)
	f = func(n *html.Node) {
		if n.Type == html.ElementNode && n.Data == "h1" {
			fmt.Println(n.FirstChild.Data)
		}
		for c := n.FirstChild; c != nil; c = c.NextSibling {
			f(c)
		}
	}
	f(doc)
}

위 코드는 golang.org/x/net/html 패키지를 사용하여 웹페이지에서 h1 태그의 내용을 추출하는 예시입니다.

참고 자료