1. import (
  2.     "errors"
  3.     "fmt"
  4.     "io/ioutil"
  5.     "net/http"
  6. )
  7.  
  8. func ReqGet(url string, q map[string]string) ([]byte, error) {
  9.     req, err := http.NewRequest("GET", url, nil)
  10.     if err != nil {
  11.         return nil, err
  12.     }
  13.     // set header
  14.     req.Header.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36")
  15.     // Set parameters
  16.     if q != nil {
  17.         query := req.URL.Query()
  18.         for k, v := range q {
  19.             query.Add(k, v)
  20.         }
  21.         req.URL.RawQuery = query.Encode()
  22.     }
  23.     // request
  24.     client := &http.Client{}
  25.     resp, err := client.Do(req)
  26.     if err != nil {
  27.         return nil, err
  28.     }
  29.     defer resp.Body.Close()
  30.     if resp.StatusCode != 200 {
  31.         return nil, errors.New(fmt.Sprintf("status code:%d", resp.StatusCode))
  32.     }
  33.     data, err := ioutil.ReadAll(resp.Body)
  34.     if err != nil {
  35.         return nil, err
  36.     }
  37.     return data, nil
  38. }



https://pastebin.com/sThc0e8A


별로인듯 한데 그냥 써야지

아까 goquery 랑 엮어서  스크래핑 할꺼야