色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

go 抓取網頁 處理json

傅智翔2年前10瀏覽0評論

Go語言是一個非常適合網絡編程的語言,它內置了一個強大的 net/http 包,可以很方便地進行網絡請求,包括抓取網頁。

下面是一個簡單的抓取網頁的示例代碼:

package main
import (
"fmt"
"net/http"
)
func main() {
url := "https://www.baidu.com"
resp, err := http.Get(url)
if err != nil {
fmt.Println("Get error:", err)
return
}
defer resp.Body.Close()
fmt.Println(resp.Header)
fmt.Println(resp.Status)
fmt.Println(resp.StatusCode)
}

代碼中通過調用http.Get()函數發送一個GET請求,然后將返回的響應保存在resp變量中??梢酝ㄟ^resp.Status和resp.StatusCode獲取響應狀態碼,通過resp.Header獲取響應頭信息。

除了抓取網頁,Go語言還可以非常方便地處理JSON數據。

package main
import (
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name"`
Age  int    `json:"age"`
}
func main() {
jsonStr := `{"name":"Tom","age":18}`
var p Person
err := json.Unmarshal([]byte(jsonStr), &p)
if err != nil {
fmt.Println("Unmarshal error:", err)
return
}
fmt.Println(p.Name)
fmt.Println(p.Age)
}

代碼中定義了一個Person結構體,通過json.Unmarshal()函數將一個JSON字符串解析成一個Person對象。通過給結構體字段添加json標簽,可以指定JSON數據的各個字段對應的結構體字段。最后,可以通過訪問p.Name和p.Age獲取結構體中的數據。