[go] 웹 페이지 스크랩
목차
소개
웹 페이지 스크랩(웹 스크래핑)은 웹 사이트에서 정보를 추출하여 수집하는 프로세스를 의미합니다. 이 정보를 사용해 데이터 분석, 기계 학습, 업무 자동화 등 다양한 목적으로 활용할 수 있습니다. 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
태그의 내용을 추출하는 예시입니다.