我正在尝试抓取一个简单的网站,它看起来像这样:
<html>
<head>
</head>
<body>
<pre>
"Name Surname 1
Name Surname 2
Name Surname 3
Name Surname 4"
</pre>
</body>
</html>
编写一个简单的go代码:
package main
import (
"fmt"
"github.com/gocolly/colly"
)
func main() {
c := colly.NewCollector(
colly.AllowedDomains("thewebsite.com"),
)
c.OnHTML("body", func(e *colly.HTMLElement) {
fmt.Println(e.Text)
})
c.OnResponse(func(r *colly.Response) {
fmt.Println(r.StatusCode)
})
c.OnRequest(func(r *colly.Request) {
fmt.Println("Visiting", r.URL)
})
c.Visit("http://thewebsite.com")
}
当我运行此代码时,我得到以下输出:
Visiting http://thewebsite.com
200
所以一切都很好。网站正在成功打开,但我没有从中获得任何数据。
我曾尝试将c.OnHTML
更改为pre
、body.pre
,但没有一个能像我预期的那样工作
我在这里错过了什么?
我遇到了类似的问题,我不得不删除域限制,尽管它看起来是正确的。换句话说,尝试注释掉AllowedDomains()
位,如下所示:
c := colly.NewCollector(
//colly.AllowedDomains("thewebsite.com"),
)