Saya kode banyak parser. Sampai sekarang, saya menggunakan browser tanpa kepala HtmlUnit untuk penguraian dan otomatisasi browser.
Sekarang, saya ingin memisahkan kedua tugas.
Karena 80% dari pekerjaan saya hanya melibatkan parsing, saya ingin menggunakan parser HTML ringan karena membutuhkan banyak waktu di HtmlUnit untuk memuat halaman pertama, kemudian mendapatkan sumber dan kemudian menguraikannya.
Saya ingin tahu parser HTML mana yang terbaik. Parser akan lebih baik jika dekat dengan Parser HtmlUnit.
EDIT:
Yang terbaik, saya ingin setidaknya fitur-fitur berikut:
- Mempercepat
- Mudah untuk menemukan HtmlElement apa pun dengan "id" atau "nama" atau "tipe tag".
Tidak masalah bagi saya jika tidak membersihkan kode HTML yang kotor. Saya tidak perlu membersihkan sumber HTML apa pun. Saya hanya perlu cara termudah untuk berpindah melintasi HtmlElements dan mengumpulkan data dari mereka.
sumber
Jawaban:
Steker mandiri: Saya baru saja merilis parser HTML Java baru: jsoup . Saya menyebutkannya di sini karena saya pikir itu akan melakukan apa yang Anda cari.
Trik pestanya adalah sintaks pemilih CSS untuk menemukan elemen, misalnya:
Lihat javadoc Selector untuk info lebih lanjut.
Ini adalah proyek baru, jadi ide untuk perbaikan sangat disambut!
sumber
Yang terbaik yang saya lihat sejauh ini adalah HtmlCleaner :
Dengan HtmlCleaner Anda dapat menemukan elemen apa pun menggunakan XPath.
Untuk parser html lainnya lihat pertanyaan SO ini .
sumber
Similar rules that the most of web browsers use
- Ini tidak terlalu meyakinkanSaya menyarankan parser Validator.nu , berdasarkan algoritma parsing HTML5. Ini adalah parser yang digunakan di Mozilla dari 2010-05-03
sumber