Колли не находит ссылок - PullRequest
       1

Колли не находит ссылок

0 голосов
/ 14 февраля 2019

Раньше я делал несколько таких программ в основном одинаковым образом (только для разных доменов), однако на этот раз Колли не находит ни одной ссылки и просто закрывается после посещения первой страницы.Кто-нибудь может увидеть, что не так?* ПРИМЕЧАНИЕ: есть части программы, которые я пропустил для ясности под рукой.

* РЕДАКТИРОВАТЬ: Я нашел проблему, но не нашел решения.Запуск 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")
}

1 Ответ

0 голосов
/ 14 февраля 2019

Я нашел решение.Я подключил свою ссылку https://trendmicro.com/vinfo/us/security/research-and-analysis/threat-reports к https://wheregoes.com/retracer.php, чтобы найти, куда перенаправляется 301, только чтобы узнать, что перед ним стоит www.к началу ссылки.Добавление www.к началу начальной строки c.Visit и к разделам c.AllowedDomains, работающим как шарм

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...