我'm writing a little web crawler, and a lot of the links on sites I' m爬行是相对的(例如,它们是 /robots.txt ) . 如何将这些相对URL转换为绝对URL(所以 /robots.txt => http://google.com/robots.txt )? Go有内置的方法吗?
1 回答
4
是的,标准库可以使用 net/url 包执行此操作 . 示例(来自标准库):
package main
import (
"fmt"
"log"
"net/url"
)
func main() {
u, err := url.Parse("../../..//search?q=dotnet")
if err != nil {
log.Fatal(err)
}
base, err := url.Parse("http://example.com/directory/")
if err != nil {
log.Fatal(err)
}
fmt.Println(base.ResolveReference(u))
}
1 回答
是的,标准库可以使用
net/url
包执行此操作 . 示例(来自标准库):请注意,您只需要解析绝对URL一次,然后您可以反复使用它 .