HTML ke teks biasa UNFORMATTED?

4

Saya sedang mencari cara untuk mengkonversi folder yang penuh dengan file HTML ke teks biasa. Yang saya inginkan adalah sebanyak mungkin file teks seperti apa yang akan saya dapatkan jika saya memilih semua teks dalam browser web, menyalinnya, dan menempelkan teks ke file teks biasa.

TIDAK, BENAR-BENAR, SAYA INGIN TEKSTIL PLAIN YANG TIDAK DIUBAH. Semua solusi yang saya temukan menghasilkan penurunan harga atau sesuatu yang terlihat seperti itu, atau mencoba untuk melestarikan tata letak, atau menggunakan tanda bintang dan garis bawah untuk menunjukkan format teks, atau mempertahankan konten skrip dalam file output, atau sesuatu yang pintar. .

Yang saya inginkan adalah kata-kata yang ditulis oleh penulis dalam urutan yang ditulis penulisnya. Saya bahkan tidak peduli jika pemrosesan mengubah semua item daftar dalam daftar menjadi satu paragraf, atau bahkan meruntuhkan seluruh dokumen menjadi satu paragraf. Semua ini jauh lebih baik daripada memberi saya apa pun selain bahasa aktual yang terkandung dalam dokumen.

Saya suka aplikasi terminal atau skrip Python, tapi saya akan mengambil apa pun yang bisa saya dapatkan.

patrick-mooney
sumber
1
Kiat: hapus semua di antara <dan >. Saya tidak tahu sed, tapi saya cukup yakin bisa melakukannya.
gronostaj
1
yup, sed dapat melakukannya, dan sejumlah utilitas lain. Ini adalah pengikisan dasar untuk konten yang saya pikir, tetapi Anda tidak mengatakan apakah Anda menginginkan informasi tajuk - ada tag yang tidak ditampilkan di badan, termasuk javascripts dan semacamnya tidak dalam tag. Bisakah Anda mengklarifikasi bahwa yang Anda inginkan hanyalah konten teks dari suatu halaman?
Ele Munjeli
@ Ele Munjeli Yap, hanya konten teks. (=
patrick-mooney
@gronostaj Itu membuat saya lebih dekat, tetapi tidak sempurna: beberapa tag (<p>, <br>) adalah spasi putih dan benar-benar harus dikonversi menjadi karakter ruang, karena mereka memisahkan kata-kata yang sebenarnya (seperti dalam "Berikut adalah beberapa baris <br > dalam kutipan "). OTOH, beberapa tag (seperti <script> untuk skrip inline) adalah atau dapat menjadi wadah untuk hal-hal yang tidak dihitung sebagai "teks biasa."
patrick-mooney

Jawaban:

2

html2text adalah skrip Python yang mengubah halaman HTML menjadi teks terstruktur Markdown yang setara. html2text dapat diunduh dan dijalankan di sistem operasi apa pun yang memasang Python. Program html2text berada dalam repositori dari banyak distribusi Linux dan dapat dijalankan dari command-line seperti ini:

html2text -style pretty input.html  

Perintah ini tidak hanya mengonversi file html asli ke teks, tetapi juga melakukan pekerjaan yang cukup baik untuk membuat output teks biasa mudah dibaca. Judul terlihat seperti pos, daftar terlihat seperti daftar, dll.

karel
sumber
Pikir saya cukup jelas tentang benar-benar tidak menginginkan karakter format sama sekali dalam output, termasuk yang dihasilkan oleh Markdown. = (
patrick-mooney
Semua pemformatan output teks biasa dilakukan secara otomatis oleh html2text dengan penggunaan karakter spasi yang sangat pintar (yang tidak dihitung sebagai format karena karakter spasi bukan karakter khusus). Tidak ada tanda bintang atau karakter garis bawah atau sampah seperti itu. Juga jika Anda tidak menyukai gaya cantik, Anda dapat menggunakan -style compactopsi dan menyingkirkan lekukan yang dibuat dengan karakter spasi juga.
karel
2

Gunakan w3m -dump <page.html>.

Ini akan memberi Anda representasi teks dari file html.

Dari halaman manual:

-dump  dump formatted page into stdout

Meskipun dikatakan formatted, hasilnya hanya teks biasa.

NZD
sumber
1
lynxjuga mendukung -dump.
TOOGAM
1
Ya, dan hal yang sama dapat dicapai dengan lynx tua yang baik seperti ini: lynx -dump -nolist -nomargins
Gombai Sándor