Maison > développement back-end > Golang > le corps du texte

Comment ignorer l'impression atteignant la limite de profondeur maximale

WBOY
Libérer: 2024-02-09 15:45:10
avant
702 Les gens l'ont consulté

如何忽略打印达到最大深度限制 go colly

L'éditeur PHP Strawberry vous présentera aujourd'hui une méthode qui peut nous aider à ignorer le problème de l'impression atteignant la limite de profondeur maximale lors de l'utilisation du framework go colly crawler. Lors du processus d'exploration des données d'une page Web, nous rencontrons généralement des situations dans lesquelles la structure est profondément imbriquée et la limite de profondeur d'impression par défaut du framework Colly peut ne pas être en mesure d'afficher entièrement toutes les données. En définissant les options de débogage du framework colly, nous pouvons facilement résoudre ce problème et obtenir un affichage des données plus complet. Ensuite, apprenons les étapes spécifiques !

Contenu de la question

J'ai un robot d'exploration Go Colly et j'essaie d'explorer de nombreux sites Web. Sur mon terminal ça imprime beaucoup :

2023/05/30 02:22:56 Max depth limit reached
2023/05/30 02:22:56 Max depth limit reached
2023/05/30 02:22:56 Max depth limit reached
2023/05/30 02:22:56 Max depth limit reached
2023/05/30 02:22:56 Max depth limit reached
2023/05/30 02:22:56 Max depth limit reached
2023/05/30 02:22:56 Max depth limit reached
Copier après la connexion

Cela me rend difficile la lecture de certaines des impressions que je place. Je me demande s'il existe un moyen d'ignorer l'impression de ceci dans le terminal. Merci

La solution

达到最大深度限制 est colly.errmaxdegree. Vous devez avoir un code comme celui-ci dans votre projet :

c := colly.newcollector(colly.maxdepth(5))

// ...

if err := c.visit("http://go-colly.org/"); err != nil {
    log.println(err)
}
Copier après la connexion

Si vous ne souhaitez pas que cette erreur soit enregistrée, ajoutez une simple vérification pour l'exclure :

c := colly.newcollector(colly.maxdepth(5))

// ...

if err := c.visit("http://go-colly.org/"); err != nil {
    // log the error only when the error is not errmaxdepth.
    if err != colly.errmaxdepth {
        log.println(err)
    }
}
Copier après la connexion

Une autre option consiste à rediriger la sortie vers un fichier :

go run . 2>&1 >log.txt
Copier après la connexion

Ou utilisez tee pour copier la sortie dans un fichier et sur la sortie standard :

go run . 2>&1 | tee log.txt
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal