在github上找到了go获取站点标题和图标的代码,地址为:https://github.com/badoux/goscraper
github上也提供了调用的例子
使用的话把goscraper.go拿到项目中,创建名为goscraper的文件夹,做成包调用的方式,工程执行
go mod tidy
把相关依赖补全即可使用
用法如下
package main
import (
"fmt"
"wesite-title/goscraper"
)
func main() {
s, err := goscraper.Scrape("https://github.com", 5)
if err != nil {
fmt.Println(err)
return
}
fmt.Printf("Icon : %s\n", s.Preview.Icon)
fmt.Printf("Name : %s\n", s.Preview.Name)
fmt.Printf("Title : %s\n", s.Preview.Title)
fmt.Printf("Description : %s\n", s.Preview.Description)
if len(s.Preview.Images) > 0 {
fmt.Printf("Image: %s\n", s.Preview.Images[0])
}
fmt.Printf("Url : %s\n", s.Preview.Link)
}
结果
Icon : https://github.githubassets.com/favicons/favicon.svg
Name : GitHub
Title : GitHub: Where the world builds software
Description : GitHub is where over 56 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat...
Image: https://github.githubassets.com/images/modules/site/social-cards/github-social.png
Url : https://github.com/
有些站点Icon只返回文件名,和检测的域名组合起来就好了