Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengabaikan pencetakan mencapai had kedalaman maksimum go colly

Bagaimana untuk mengabaikan pencetakan mencapai had kedalaman maksimum go colly

WBOY
WBOYke hadapan
2024-02-09 15:45:10656semak imbas

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

Editor PHP Strawberry hari ini memperkenalkan kaedah yang boleh membantu kita mengabaikan masalah pencetakan mencapai had kedalaman maksimum apabila menggunakan rangka kerja go colly crawler. Dalam proses merangkak data halaman web, kami biasanya menghadapi situasi di mana struktur bersarang dalam dan had kedalaman pencetakan lalai rangka kerja colly mungkin tidak dapat memaparkan sepenuhnya semua data. Dengan menetapkan pilihan penyahpepijatan rangka kerja colly, kami boleh menyelesaikan masalah ini dengan mudah dan mendapatkan paparan data yang lebih komprehensif. Seterusnya, mari belajar tentang langkah-langkah khusus!

Kandungan soalan

Saya mempunyai perangkak go colly dan saya cuba merangkak banyak tapak web. Pada terminal saya ia banyak mencetak:

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

Ini menyukarkan saya untuk membaca beberapa cetakan yang saya letak. Saya tertanya-tanya sama ada terdapat cara untuk mengabaikan mencetak ini di terminal. Terima kasih

Penyelesaian

达到最大深度限制 ialah colly.errmaxdepth. Anda mesti mempunyai kod seperti ini dalam projek anda:

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

// ...

if err := c.visit("http://go-colly.org/"); err != nil {
    log.println(err)
}

Jika anda tidak mahu ralat ini dilog, tambahkan semakan mudah untuk mengecualikannya:

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)
    }
}

Pilihan lain ialah mengubah hala output ke fail:

go run . 2>&1 >log.txt

Atau gunakan tee untuk menyalin output ke fail dan untuk stdout:

go run . 2>&1 | tee log.txt

Atas ialah kandungan terperinci Bagaimana untuk mengabaikan pencetakan mencapai had kedalaman maksimum go colly. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam