我正在使用gocolly学习网络抓取。当我尝试使用选择器名称body
查找标记时,它成功地找到了它。然而,当我尝试通过xpath/html/body
查找body标记时,却找不到它。
我使用了带有一个简单回调函数的OnHTML((:
collector.OnHTML("/html/body", func(element *colly.HTMLElement) {
fmt.Println("Found Body")
})
你知道为什么会发生这种事吗?
此外,在看教程时,我注意到传递到函数OnHTML((中的选择器有时被"包装"(双引号(,有时用``(反引号(。两者之间有区别吗?
我该如何搜索ID元素,因为当我试图搜索主体下的ID#布局容器时,Colly找不到它:
collector.OnHTML("#layout-container", func(element *colly.HTMLElement) {
fmt.Println("Found Layout Container")
})
提前感谢!
从HTML的角度来看,使用OnHTML时已经隐含了/html
部分。
您将使用/html/body
,如colly_test.go
所示,以及OnXML(((函数将在与xpathQuery参数匹配的每个XML元素上执行(
使用OnHTML的测试仅显示";body
";。