Go語言在爬蟲領域得到了廣泛的應用,而json作為一種輕量級的數據交換格式,也是爬蟲中不可或缺的一部分。Go語言給出了很好的支持以處理Json數據。下面通過代碼介紹如何在Go爬蟲中使用Json。
//獲取json func getJson(url string) ([]byte, error) { resp, err := http.Get(url) if err != nil { return nil, err } defer resp.Body.Close() return ioutil.ReadAll(resp.Body) } //解析json func parseJson(jsonData []byte) ([]string, error) { var result []string var data map[string]interface{} if err := json.Unmarshal(jsonData, &data); err != nil { return nil, err } for _, value := range data { if v, ok := value.(string); ok { result = append(result, v) } } return result, nil } //使用json func main() { url := "https://api.github.com/users" jsonData, err := getJson(url) if err != nil { fmt.Println(err) } result, err := parseJson(jsonData) if err != nil { fmt.Println(err) } fmt.Println(result) }
以上代碼通過調用http.Get()方法獲取了github的user列表的json數據,并通過json.Unmarshal()方法解析json。解析后我們將獲取到的每個user的名稱保存在一個string類型的slice中,并最終輸出這個slice。
總結:通過以上例子,我們可以看到Go語言中處理Json數據非常方便。使用這類方法,我們可以很好地應用Go語言在爬蟲中,從而快速、高效地獲取所需的數據。
上一篇go服務器json
下一篇go結構體數組轉json