Go语言爬虫代码:250行示例,在Goland中运行
{"title":"Go语言爬虫代码:250行示例,在Goland中运行","description":"使用Go语言编写一个简单爬虫代码,并在Goland中运行,示例代码仅250行,包含HTTP请求、响应处理和链接提取。","keywords":"Go语言, 爬虫, Goland, 代码示例, HTTP 请求, 响应处理, 链接提取","content":"package main\n\nimport (\n\t"fmt"\n\t"io/ioutil"\n\t"net/http"\n\t"strings"\n)\n\nfunc main() {\n\turl := "https://example.com" // 替换为你要爬取的网站URL\n\n\tresp, err := http.Get(url)\n\tif err != nil {\n\t fmt.Println("HTTP 请求错误:", err)\n\t return\n\t}\n\tdefer resp.Body.Close()\n\n\tbody, err := ioutil.ReadAll(resp.Body)\n\tif err != nil {\n\t fmt.Println("读取响应体错误:", err)\n\t return\n\t}\n\n\tlinks := extractLinks(string(body))\n\tfor _, link := range links {\n\t fmt.Println(link)\n\t}\n}\n\nfunc extractLinks(html string) []string {\n\tvar links []string\n\n\tstartTag := "<a href=""\n\tendTag := """\n\n\tstartIndex := strings.Index(html, startTag)\n\tfor startIndex != -1 {\n\t startIndex += len(startTag)\n\t endIndex := strings.Index(html[startIndex:], endTag)\n\t if endIndex == -1 {\n\t break\n\t }\n\t endIndex += startIndex\n\n\t link := html[startIndex:endIndex]\n\t links = append(links, link)\n\n\t startIndex = strings.Index(html[endIndex:], startTag)\n\t}\n\n\treturn links\n}\n\n在这个例子中,我们使用http.Get函数发送HTTP GET请求获取网页的响应。然后使用ioutil.ReadAll函数读取响应体的内容。接下来,我们使用extractLinks函数提取出网页中的链接,并将它们打印出来。\n\n请注意将url变量替换为你要爬取的网站URL。"}
原文地址: https://www.cveoy.top/t/topic/prhM 著作权归作者所有。请勿转载和采集!