Langkau ke kandungan
AutoValue
28 Ogos 2026 · Data Quality

Musim Panas Ketika Bilangan Penyenaraian Kami Runtuh: Diari Dari Dalam Crawler

AutoValue Editorial
Musim Panas Ketika Bilangan Penyenaraian Kami Runtuh: Diari Dari Dalam Crawler

Saya membiarkan satu tab terbuka hampir setiap hari yang hanya memaparkan bilangan sumber. Bukan yang cantik-cantik — tiada carta, tiada penapis, hanya satu nombor di sebelah setiap satu daripada 1,375 laman yang kami tarik penyenaraian kereta, berserta cap masa bila setiap satu terakhir kali "check in". Kebanyakan hari ia membosankan dengan cara yang sepatutnya membosankan bagi sesuatu infrastruktur. Musim panas ini tidak begitu, dan saya rasa cerita tentang apa yang tidak kena ini lebih berguna kepada anda, sebagai seseorang yang sedang mencari kereta, berbanding kebanyakan nasihat "cara membeli kereta terpakai" yang boleh kami tulis sebaliknya. Ia mengenai apa sebenarnya maksud "data secara langsung" apabila benda yang memberi makan kepadanya ialah 1,375 laman web berasingan yang tidak berhutang apa-apa kepada anda.

Pertengahan Julai: nombor yang saya banggakan

Menjelang pertengahan Julai kami telah menolak daftar sumber kepada 1,190 sumber merentasi 73 rantau — hasil beberapa minggu menyelaraskan entri berganda dan pautan mati yang secara senyap-senyap telah menggembungkan bilangan kami sendiri. Saya ingat berfikir bahawa 1,190 sumber sebenar yang telah "check in" adalah sesuatu yang boleh dibanggakan. Itu banyak laman peniaga individu, papan iklan bersih, dan suapan lelong, masing-masing dengan struktur HTML sendiri, had kadarnya sendiri, pendapat sendiri sama ada scraper itu pelanggan atau serangan.

Kemudian satu kempen susulan yang telah kami jalankan — mengusahakan senarai tunggu 683 sumber yang telah tertangguh selama berbulan-bulan, sesetengahnya disekat, sesetengahnya hanya tidak pernah dibina — mula membuahkan hasil. Sepanjang separuh kedua Julai, 274 daripada sumber itu berjaya dibina dan disambungkan. Menjelang akhir bulan, bilangan yang berfungsi meningkat kepada 1,464. Itulah jenis minggu yang anda tangkap skrin.

Awal Ogos: 241 sumber, lenyap

Kemudian datang nombor yang merosakkan minggu anda: dalam semalaman, 241 sumber jatuh ke keadaan merosot. Bukan kerana apa-apa yang kami lakukan — akaun pembekal proksi kami telah luput dari segi bil, dan sebahagian besar trafik kami disalurkan melalui IP berputar khusus supaya kami tidak disekat oleh laman yang mengehadkan kadar untuk scraper. Tiada proksi, tiada halaman baharu, tiada penyenaraian baharu. Sumber tidak mengumumkan bahawa ia rosak; ia hanya secara senyap berhenti memulangkan data baharu sementara penyenaraian lamanya kekal kelihatan terkini.

Inilah bahagian yang tidak muncul dalam bilangan penyenaraian pada mana-mana laman kereta, termasuk laman kami, melainkan anda mencarinya: pasaran yang "langsung" boleh mempunyai baris data lapuk duduk bersebelahan dengan yang segar dan kelihatan serupa dari luar. Kami menyekat penghantaran crawl baharu berdasarkan ujian kesihatan proksi sebenar supaya kumpulan yang mati tidak boleh secara senyap merosotkan kualiti dengan lebih teruk lagi, dan menjeda bahagian jadual yang akan menjadikannya lebih buruk. Ia bukan kerja yang glamour. Ia jenis kerja yang, jika anda tidak pernah mendengarnya, bermakna seseorang telah melakukan tugasnya.

Sebagai sampingan, kerana ia patut dinyatakan dengan jelas: mana-mana laman yang mendakwa nombor penyenaraian tetap dan bulat setiap hari sama ada tidak benar-benar langsung, atau tidak memberitahu anda tentang minggu-minggu seperti ini.

Kebekuan itu

Pembaharuan proksi menyelesaikan sebahagian besar masalah. Apa yang saya tidak jangka ialah crawler itu sendiri terkunci beberapa minggu kemudian — kebuntuan "teardown", lapan belas daripada sembilan belas urutan pekerja duduk dalam futex_wait, sifar CPU digunakan, selama 75 jam berturut-turut. Tiada ranap, tiada log ralat menjerit kepada sesiapa. Hanya... tiada apa berlaku, sementara papan pemuka terus memaparkan pusingan berjaya terakhir seolah-olah ia terkini. Kami belum lagi memasang anjing pengawal (watchdog) pada hos tertentu itu, iaitu jenis ayat yang anda hanya tulis selepas perkara yang digambarkannya sudah berlaku kepada anda sekali.

Kami membina anjing pengawal itu. Kami menjeda jadual sehingga pembaharuan proksi disahkan stabil berbanding mengambil risiko crawl separuh merosot secara senyap menggantikan baris data baik dengan yang buruk — sumber yang di-crawl akan menggantikan penyenaraiannya, bukan menggabungkannya, jadi pusingan yang buruk bukan sahaja gagal menambah data, ia boleh secara aktif memadam baris baik dan meletakkan yang lebih teruk sebagai gantinya. Ketidaksimetrian itulah sebabnya kami lebih rela berjalan dengan data lapuk selama sehari berbanding berjalan secara merosot.

Di mana nombor itu mendarat

Inilah bilangan pada hari ini, dan bentuk enam minggu yang membawa kami ke sini:

Kami mendarat pada 1,375 sumber merentasi 73 rantau, memberi makan 1,108,535 penyenaraian langsung, dengan 12,823 kini ditanda sebagai berharga di bawah kohort rantaunya. Itu lebih kurang 90 sumber kurang daripada puncak Julai — sesetengah daripada 241 yang merosot tidak pernah kembali sepenuhnya, segelintir adalah laman yang telah menukar sikap anti-bot mereka dalam masa itu dan memerlukan pembinaan semula berbanding penyambungan semula. Kami masih mengusahakan beberapa daripadanya.

Apa nilai sebenar ini kepada anda

Tiada satu pun daripada ini mengubah kereta yang patut anda beli. Tetapi ia sepatutnya mengubah cara anda membaca mana-mana nombor "inventori langsung" pada mana-mana laman kereta, bukan hanya laman kami. Perancis kini berada di puncak bilangan rantau kami dengan 67,569 penyenaraian, Jepun rapat di belakang dengan 61,940, dan nombor-nombor itu bergerak — bukan kerana pasaran kereta terpakai itu sendiri berubah secepat itu, tetapi kerana infrastruktur yang memerhatikannya begitu. Penyenaraian yang lapuk tiga hari kerana sumbernya merosot kelihatan sama persis dengan yang segar melainkan platform itu jujur tentang perbezaannya.

Kami lebih rela memberitahu anda tentang kebekuan 75 jam itu berbanding berpura-pura nombor kami tidak pernah goyah. Set data yang tidak pernah mengaku minggu yang buruk adalah set data yang patut anda lebih curigai, bukan kurang.

Data QualityWEB ScrapingMethodologyTransparencyMarket Data
Kongsi

Artikel berkaitan