用go语言帮我写个爬虫脚本,
时间: 2024-04-21 15:27:39 浏览: 12
好的,我可以给您提供一个简单的Go语言爬虫脚本的示例代码。这个示例代码可以帮助您发送HTTP请求并解析HTML页面,您可以根据自己的需求进行修改和扩展。
```
package main
import (
"fmt"
"io/ioutil"
"net/http"
"strings"
"github.com/PuerkitoBio/goquery"
)
func main() {
// 构造请求
req, err := http.NewRequest("GET", "http://example.com", nil)
if err != nil {
fmt.Println(err)
return
}
// 添加请求头
req.Header.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3")
// 发送请求
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer resp.Body.Close()
// 读取响应内容
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println(err)
return
}
// 解析HTML页面
doc, err := goquery.NewDocumentFromReader(strings.NewReader(string(body)))
if err != nil {
fmt.Println(err)
return
}
// 获取页面标题
title := doc.Find("title").Text()
// 输出结果
fmt.Println(title)
}
```
这个示例代码可以向指定的URL发送GET请求,并解析响应中的HTML页面,最后获取页面标题并输出。您可以根据自己的需求修改代码,比如修改请求方式、请求头、请求参数、解析HTML页面的方式等。同时,需要注意爬虫行为可能会违反网站的使用协议和法律法规,请您谨慎使用,并且遵守相关规定。