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獲取結構體中的數據。
上一篇html常用代碼圖片
下一篇python 提供接口嗎