package mainimport ("encoding/csv""fmt""os""github.com/gocolly/colly") func checkError(err error){ if err!=nil{ panic(err)}}func main(){fName:="data.csv"file,err:=os.Create(fName)checkError(err)defer file.Close()writer:=csv.NewWriter(file)defer writer.Flush()c:=colly.NewCollector(colly.AllowedDomains("forbes.com","www.forbes.com"))c.OnHTML(".scrolly-table tbody tr", func(e *colly.HTMLElement) { writer.Write([]string{ e.ChildText(".rank .ng-binding"), }) }) c.OnError(func(_ *colly.Response, err error) { fmt.Println("Something went wrong:", err) }) c.OnRequest(func(r *colly.Request) { fmt.Println("Visiting", r.URL) }) c.OnResponse(func(r *colly.Response) { fmt.Println("Visited", string(r.Body)) }) c.Visit("https://forbes.com/real-time-billionaires/") }這是我的代碼,當我請求我得到后備頁面時,這是我試圖抓取的福布斯鏈接我注意到該網站使用的哈希路徑位于 url 的最后一部分,我無法使用相同的 url 請求兩次,我認為它與抓取有關,有人可以幫我嗎?
2 回答

慕田峪7331174
TA貢獻1828條經驗 獲得超13個贊
如果您在瀏覽器中禁用 javascript,請確??捎玫膬热荩梢允褂瞄_發人員工具進行操作)。大多數抓取工具只會為您提供頁面的文本表示,而瀏覽器也會針對它運行 javascript 引擎。如果您嘗試抓取的數據是用 Javascript 填充的,那么很有可能這就是您無法抓取它的原因。
- 2 回答
- 0 關注
- 113 瀏覽
添加回答
舉報
0/150
提交
取消