Sebuah perpustakaan JavaScript baharu yang dipanggil Defuddle telah mendapat perhatian dalam komuniti pembangun sebagai pengganti berpotensi untuk Mozilla Readability, menangani isu-isu lama dengan pengekstrakan kandungan web dan penukaran HTML-ke-Markdown. Dicipta oleh pasukan di sebalik Obsidian Web Clipper, Defuddle bertujuan untuk menyediakan output yang lebih bersih dan konsisten apabila mengekstrak kandungan utama daripada halaman web.
Pilihan Bundle Defuddle:
- Bundle teras (
defuddle
): Bundle utama untuk kegunaan pelayar, tiada kebergantungan - Bundle penuh (
defuddle/full
): Termasuk ciri tambahan untuk menghurai persamaan matematik - Bundle Node.js (
defuddle/node
): Dioptimumkan untuk Node.js dengan JSDOM, termasuk keupayaan matematik penuh dan Markdown
Komuniti Menonjolkan Isu Kualiti dan Kebolehpercayaan dengan Alat Sedia Ada
Pembangun telah bersuara mengenai batasan alat pengekstrakan kandungan web semasa. Ramai yang mengalami kekecewaan dengan Mozilla Readability yang terlalu konservatif, sering membuang kandungan berguna dalam usahanya untuk mengenal pasti teks artikel utama. Perbincangan komuniti mendedahkan bahawa walaupun Readability kekal diselenggara secara aktif dengan kemas kini terkini, pendekatan asasnya mempunyai kelemahan fundamental yang mempengaruhi penggunaan dunia sebenar.
Satu isu yang terutamanya diberi perhatian melibatkan masalah pemformatan khusus bahasa, di mana halaman yang mengandungi harga dalam bahasa Belanda atau bahasa lain yang menggunakan koma bukannya titik untuk nombor boleh mengelirukan algoritma pengekstrakan. Bug-bug ini menonjolkan cabaran mengekalkan penyelesaian satu-saiz-untuk-semua bagi kandungan web yang pelbagai.
Pendekatan Multi-Pass Defuddle Menawarkan Pemulihan Kandungan yang Lebih Baik
Tidak seperti alat pengekstrakan tradisional, Defuddle menggunakan sistem pengesanan multi-pass yang boleh pulih apabila percubaan awal tidak mengembalikan kandungan. Pendekatan ini membolehkannya menjadi lebih pemaaf sambil masih mengekalkan ketepatan. Perpustakaan ini juga menggunakan teknik inovatif seperti menganalisis gaya mudah alih sesuatu halaman untuk mengenal pasti elemen yang boleh disembunyikan atau dibuang dengan selamat.
Alat ini melampaui pengekstrakan kandungan mudah dengan menyeragamkan format output. Nota kaki, blok kod, dan persamaan matematik semuanya ditukar kepada struktur HTML yang konsisten, menjadikan hasil lebih sesuai untuk pemprosesan hiliran seperti penukaran Markdown.
Pilihan Konfigurasi Utama:
debug
: Membolehkan pengelogan terperinci dan mengekalkan atribut HTMLmarkdown
: Menukar kandungan kepada format MarkdownseparateMarkdown
: Mengekalkan kandungan HTML dan mengembalikan versi Markdown yang berasinganremoveExactSelectors
: Membuang elemen yang sepadan dengan pemilih iklan/sosial yang tepat (lalai: benar)removePartialSelectors
: Membuang elemen yang sepadan dengan pemilih iklan/sosial separa (lalai: benar)
Prestasi Kukuh dalam Aplikasi Dunia Sebenar
Maklum balas komuniti daripada pengguna Obsidian Web Clipper amat positif, dengan ramai memuji kebolehpercayaan kualiti pengekstrakan Markdown. Alat ini telah terbukti berkesan untuk pelbagai kes penggunaan, daripada membina pangkalan pengetahuan hingga mencipta konteks web yang bersih untuk model bahasa AI.
Kualiti pengekstrakan markdown adalah yang paling boleh dipercayai yang pernah saya lihat.
Keupayaan perpustakaan untuk mengendalikan jenis kandungan kompleks, termasuk persamaan matematik melalui penukaran MathML dan pemformatan nota kaki yang diseragamkan, membezakannya daripada alat pengekstrakan yang lebih mudah.
Format Output Piawai:
- Tajuk: H1/H2 pertama dialih keluar jika sepadan dengan tajuk, H1 ditukar kepada H2
- Blok kod: Diseragamkan dengan atribut data bahasa:
<code data-lang="js" class="language-js">
- Nota kaki: Format konsisten dengan rujukan bernombor dan pautan balik
- Matematik: Ditukar kepada MathML piawai dengan atribut data LaTeX
Penyelesaian Alternatif Mendapat Pengiktirafan
Perbincangan ini juga telah membawa perhatian kepada alternatif kukuh lain dalam ruang pengekstrakan kandungan. Pembangun Python telah berjaya dengan Trafilatura, yang menawarkan kualiti pengekstrakan setanding dengan pengekstrakan metadata yang tepat. Untuk pembangun Go, port yang diselenggara secara aktif bagi kedua-dua Readability dan Trafilatura tersedia, menyediakan pilihan merentasi bahasa pengaturcaraan yang berbeza.
Alternatif-alternatif ini mencadangkan pengiktirafan yang semakin meningkat bahawa keperluan pengekstrakan kandungan web telah berkembang melampaui apa yang alat tradisional boleh sediakan, mendorong inovasi merentasi pelbagai ekosistem pengaturcaraan.
Defuddle mewakili langkah maju yang ketara dalam teknologi pengekstrakan kandungan web, menangani masalah dunia sebenar yang dihadapi pembangun setiap hari. Fokusnya pada output yang diseragamkan dan pengesanan multi-pass menjadikannya amat berharga untuk aplikasi yang memerlukan pengekstrakan kandungan yang boleh dipercayai dan bersih daripada landskap halaman web moden yang semakin kompleks.
Rujukan: Defuddle