Heim > Artikel > Backend-Entwicklung > So ignorieren Sie das Drucken, wenn die maximale Tiefengrenze erreicht ist
Der PHP-Editor Strawberry stellt Ihnen heute eine Methode vor, mit der wir das Problem des Erreichens der maximalen Tiefengrenze beim Drucken bei Verwendung des Go-Colly-Crawler-Frameworks ignorieren können. Beim Crawlen von Webseitendaten stoßen wir normalerweise auf Situationen, in denen die Struktur tief verschachtelt ist und die Standarddrucktiefenbeschränkung des Colly-Frameworks möglicherweise nicht alle Daten vollständig anzeigen kann. Durch Festlegen der Debugging-Optionen des Colly-Frameworks können wir dieses Problem leicht lösen und eine umfassendere Datenanzeige erhalten. Als Nächstes lernen wir die einzelnen Schritte kennen!
Ich habe einen Go-Colly-Crawler und versuche, viele Websites zu crawlen. Auf meinem Terminal wird viel gedruckt:
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
Das macht es für mich schwierig, einige der von mir platzierten Aufdrucke zu lesen. Ich frage mich, ob es eine Möglichkeit gibt, das Drucken im Terminal zu ignorieren. Danke
达到最大深度限制
ist colly.errmax Depth. In Ihrem Projekt muss Code wie dieser vorhanden sein:
c := colly.newcollector(colly.maxdepth(5)) // ... if err := c.visit("http://go-colly.org/"); err != nil { log.println(err) }
Wenn Sie nicht möchten, dass dieser Fehler protokolliert wird, fügen Sie eine einfache Prüfung hinzu, um ihn auszuschließen:
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) } }
Eine andere Möglichkeit besteht darin, die Ausgabe in eine Datei umzuleiten:
go run . 2>&1 >log.txt
Oder verwenden Sie tee
, um die Ausgabe in eine Datei und auf stdout zu kopieren:
go run . 2>&1 | tee log.txt
Das obige ist der detaillierte Inhalt vonSo ignorieren Sie das Drucken, wenn die maximale Tiefengrenze erreicht ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!