UNFORMATTED düz metin HTML?


4

HTML dosyaları dolu bir klasörü düz metne dönüştürmenin bir yolunu arıyorum. İstediğim şey, metin dosyalarının bir web tarayıcısındaki tüm metni seçtiğimde, kopyaladığımda ve metni düz bir metin dosyasına yapıştırdığımda alabildiğim gibi alabilmesi.

HAYIR, GERÇEKTEN, UYGULAMALI DÜZ METİN METİNİ İSTİYORUM. Bulduğum tüm çözümler Markdown ya da buna benzeyen bir şey üretiyor ya da düzeni korumaya çalışıyor ya da metin biçimlendirmesini belirtmek için yıldız işaretleri ve alt çizgiler kullanıyor ya da çıktı dosyasındaki komut dosyalarının içeriğini ya da zekice bir şeyi koruyor .

Tek istediğim yazarın yazdığı sırayla yazarın yazdığı kelimeler. İşlemin bir listedeki tüm liste öğelerini tek bir paragrafa dönüştürmesi ya da tüm belgeyi tek bir paragrafa daraltması bile umrumda değil. Bunlardan herhangi biri, bana belgedeki asıl dilden başka bir şey vermekten çok daha iyidir.

Bir terminal uygulamasını veya Python komut dosyasını çok isterdim, ancak alabileceğim her şeyi alacağım.


1
İpucu: arasındaki her şeyi kaldırın < ve >. Bilmiyorum sed, ama yapabileceğinden eminim.
gronostaj

1
evet, sed yapabilir ve başka bir dizi yardımcı program. Bu bence içerik için temel bir sıyırıcıdır, ancak başlık bilgisini isteyip istemediğinizi söylemiyorsunuz - javascript'ler de dahil olmak üzere vücutta gösterilmeyen etiketler var ve etiketler de yok. Bir sayfanın sadece metin içeriğini istediğinizi netleştirebilir misiniz?
Ele Munjeli


@ Ele Munjeli Yep, sadece metin içeriği. (=
patrick-mooney

@gronostaj Bu beni daha da yakınlaştırıyor ama mükemmel değil: bazı etiketler (& lt; p & gt ;, & lt; br & gt;) boşluklar ve gerçekten boşluk karakterlerine dönüştürülmeleri gerekiyor, çünkü gerçek kelimeleri ayırıyorlar ("Burada bazı satırlar & lt. ; br & gt; bir alıntıda "). OTOH, bazı etiketler (satır içi komut dosyaları için & lt; script & gt; gibi), "düz metin" olarak sayılmayan şeyler için kapsayıcı olabilir veya olabilir.
patrick-mooney

Yanıtlar:


3

html2text HTML sayfasını eşdeğer Markdown yapılandırılmış metne dönüştüren bir Python betiğidir. html2text, Python kurulu olan herhangi bir işletim sisteminde indirilebilir ve çalıştırılabilir. Html2text programı birçok Linux dağıtımının deposundadır ve aşağıdaki gibi komut satırından çalıştırılabilir:

html2text -style pretty input.html  

Bu komut yalnızca orijinal html dosyasını metne dönüştürmekle kalmaz, aynı zamanda düz metin çıktısının okunmasını kolaylaştırmak için oldukça iyi bir iş çıkarır. Başlıklar başlıklar gibi görünüyor, listeler listeler gibi görünüyor.


Markdown tarafından oluşturulanlar da dahil olmak üzere, çıktıda hiç biçimlendirme karakteri istemediğimden çok net olduğunu düşündüm. = (
patrick-mooney

Düz metin çıktısının tüm biçimlendirmesi, boşluk karakterinin çok akıllıca kullanılmasıyla html2text tarafından otomatik olarak yapılır (boşluk karakteri özel bir karakter olmadığı için biçimlendirme sayılmaz). Hiçbir markdown yıldız veya altı çizili karakter veya bunun gibi herhangi bir çöp yoktur. Ayrıca güzel tarzı sevmiyorsanız, kullanabilirsiniz -style compact seçenek yerine ve boşluk karakteri ile yapılan girintilerden de kurtulun.
karel

2

kullanım w3m -dump <page.html>.

Size html dosyasının metin gösterimini verecektir.

Man sayfasından:

-dump  dump formatted page into stdout

Olmasına rağmen formatted, çıktı sadece düz metindir.


1
lynx ayrıca destekler -dump.
TOOGAM

1
Evet, aynısı bunun gibi eski güzel vaşaklarla da elde edilebilir: lynx -dump -nolist -nomargins
Gombai Sándor

0

Unix.com: Bir dosyadaki sadece HTML etiketlerini kaldırma sağlamaktadır:
sed -n '/^$/!{s/<[^>]*>//g;p;}' filename
veya html2text

CommandLineFu: Tüm HTML etiketlerini kaldır başka gösterir sed çizgi veya awk.

Bunun birden fazla program tarafından sağlanan bir şekilde yaygın bir işlem olduğuna ve bu görev için en yaygın adın HTML'yi "soymak" olduğuna inanıyorum. Hızlı Google Arama: Linux şeridi html etiketleri dahil olmak üzere çoklu çözümler gösterir PHP: şerit etiketleri .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.