日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Go語言做爬蟲狀態碼返回418的問題解決_Golang

作者:我的名字豌豆 ? 更新時間: 2021-12-28 編程語言

背景

?在使用Go語言做爬蟲時,使用http.Get(url)去獲取網頁內容,狀態碼返回404,Body體為空。

在這里插入圖片描述

原因分析

?http.Get(url)是不需要設置header屬性的http請求,比較簡單快捷,但狀態碼返回418,表明我們需要設置其header屬性,那么我們可以使用http.NewRequest,在設置其header屬性即可~

代碼部分

func main7()  {
	client := &http.Client{}
	url := "https://movie.douban.com/top250?start=0&filter="
	reqest, err := http.NewRequest("GET", url, nil)
	//設置header屬性
	reqest.Header.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36 OPR/66.0.3515.115")
	if err!=nil {
		fmt.Println(err)
		return
	}
	response, _ := client.Do(reqest)
	defer response.Body.Close()
	buf := make([]byte,4096)
	var result string
	for  {
		n,err:=response.Body.Read(buf)
		if n == 0 {
			fmt.Println("讀取網頁完成")
			break
		}
		if err!=nil && err!=io.EOF {
			fmt.Println("resp body err",err)
			return
		}
		result += string(buf[:n])
		//打印讀取的網頁
		fmt.Println(result)
	}
}

原文鏈接:https://blog.csdn.net/liu19721018/article/details/113099234

欄目分類
最近更新