사용할 모듈
"net/http" - ( url 접속해서 http 요청 보내고, 응답 받는 모듈 )
"github.com/PuerkitoBio/goquery" - ( html body 요소를 분석해서, 특정 정보를 가져오는 모듈 )
net/http 사용하기
import (
"net/http"
"fmt"
)
package main
func main(){
// net/http 모듈 사용해 네이버 페이지 정보 요청하기 ( Get )
// res(response)와, err(error) 받아오기
res,err := http.Get("www.naver.com")
// 페이지를 정상적으로 응답받았는지 확인하기
// 정상 : 200
fmt.Println(res.StatusCode)
}
goquery 사용하기
import (
"net/http"
"log"
"github.com/PuerkitoBio/goquery"
)
package main
func main(){
// net/http 모듈 사용해 네이버 페이지 정보 요청하기 ( Get )
res, err := http.Get("www.naver.com")
//에러 체크
if err != nil {
log.Fatal(err)
}
// 응답받은 페이지의 body태그를 goquery로 분석하기
doc, err := goquery.NewDocumentFromReader(res.Body)
//에러 체크
if err != nil {
log.Fatal(err)
}
// 분석한 페이지에서 클래스 찾기 ( Find )
exClass := doc.Find(".클래스이름")
// 분석한 페이지에서 태그 찾기
exTag := doc.Find("태그이름")
}
반응형