子链接不再被 isVisited 过滤

This commit is contained in:
2026-04-10 20:49:49 +08:00
parent 69d3f37555
commit 1b88ca1efb
+9 -12
View File
@@ -257,19 +257,16 @@ func (c *Crawler) runPriorityWorker() {
// 直接调用 visitURLUnlimited,绕过队列调度和链接数限制
hrefs := c.visitURLUnlimited(rawURL)
// 将子链接加入优先队列(保持优先级)
if len(hrefs) > 0 {
c.priorityChildrenMu.Lock()
added := 0
for _, child := range hrefs {
if !c.isVisited(child) {
c.priorityChildren = append(c.priorityChildren, child)
added++
}
}
IncrementPriorityChildren(int64(added))
c.priorityChildrenMu.Unlock()
// 将子链接加入优先队列(保持优先级)
// 注意:Priority URL 的子链接强制加入队列,即使已访问过也要重新爬取
if len(hrefs) > 0 {
c.priorityChildrenMu.Lock()
for _, child := range hrefs {
c.priorityChildren = append(c.priorityChildren, child)
}
IncrementPriorityChildren(int64(len(hrefs)))
c.priorityChildrenMu.Unlock()
}
log.Printf("[crawler] priority crawl done: %s (%d child links)", rawURL, len(hrefs))