Раньше я делал несколько таких программ в основном одинаковым образом (только для разных доменов), однако на этот раз Колли не находит ни одной ссылки и просто закрывается после посещения первой страницы.Кто-нибудь может увидеть, что не так?* ПРИМЕЧАНИЕ: есть части программы, которые я пропустил для ясности под рукой.
* РЕДАКТИРОВАТЬ: Я нашел проблему, но не нашел решения.Запуск curl https://trendmicro.com/vinfo/us/security/research-and-analysis/threat-reports
возвращает 301 постоянно перемещенную ошибку в терминале, но при подключении к той же ссылке в браузере получается нужная мне страница.Почему ЭТО происходит и как я могу это исправить?
* EDIT2: я обнаружил, что выполнение команды curl -L
заставляет curl следовать перенаправлениям, которые затем выплевывают нужную мне веб-страницу.Однако, как мне перевести это на колли?Потому что колли все еще улавливает ошибку 301.
import (
"fmt"
"strings"
"github.com/gocolly/colly"
)
func main() {
/* only navigate to links within these paths */
tld1 := "/vinfo/us/security/research-and-analysis/threat-reports"
c := colly.NewCollector(
colly.AllowedDomains("trendmicro.com", "documents.trendmicro.com"),
)
c.OnHTML("a[href]", func(e *colly.HTMLElement) {
link := e.Attr("href")
fmt.Printf("Link found: %q -> %s\n", e.Text, link)
if strings.Contains(link, tld1) {
c.Visit(e.Request.AbsoluteURL(link))
}
})
c.OnRequest(func(r * colly.Request) {
fmt.Println("Visiting", r.URL.String())
})
c.Visit("https://trendmicro.com/vinfo/us/security/research-and-analysis/threat-reports")
}