Go Web 爬虫快速启动指南
warning:
这篇文章距离上次修改已过190天,其中的内容可能已经有所变动。
package main
import (
"fmt"
"github.com/PuerkitoBio/goquery"
"net/http"
)
// 简单的Web爬虫示例,获取指定URL的标题
func fetchHTML(url string) (string, error) {
res, err := http.Get(url) // 发起HTTP GET请求
if err != nil {
return "", err
}
defer res.Body.Close() // 确保在函数退出时关闭响应体
if res.StatusCode != 200 {
return "", fmt.Errorf("status code error: %d %s", res.StatusCode, res.Status)
}
doc, err := goquery.NewDocumentFromReader(res.Body) // 从响应体创建Document对象
if err != nil {
return "", err
}
var title string
doc.Find("title").Each(func(i int, s *goquery.Selection) {
title = s.Text() // 提取标题文本
})
return title, nil
}
func main() {
url := "https://example.com" // 替换为你想爬取的网站URL
title, err := fetchHTML(url)
if err != nil {
fmt.Printf("An error occurred: %s\n", err)
return
}
fmt.Printf("The title of %s is: %s\n", url, title)
}
这段代码展示了如何使用Go语言和goquery库来编写一个简单的Web爬虫,获取指定网页的标题。代码中包含了错误处理和资源管理的实践,是学习Web爬虫和网络编程的一个很好的起点。
评论已关闭