Konwersja .HTML do .TXT

Witam,

Czy istnieje jakiś program, który potrafi konwertować plik .html do pliku tekstowego, tak aby plik tekstowy wizualnie wyglądał tak jak wtedy gdy klikniemy prawym myszy na stronie i damy “pokaż źródło” i zapisujemy je jako .txt?

Ewentualnie jeśli nie znacie programu to zadowolę się poradą jak dokonać tej konwersji w inny sposób niż otwórz .html -> pokaż źródło -> zapisz jako .txt

Pozdrawiam

Nagiewont

Zacznijmy od tego, że dokumenty html to również pliki tekstowe. Wystarczy więc masowa zmiana nazw rozszerzeń (html->txt). Możesz to zrobić darmowym oprogramowaniem, na przykład:

Lupas Rename, Rename Master, Bulk Rename Utility, Ant Renamer, RegexRenamer

Też myślałem, że tak można zrobić. Jednak nie zawsze działa.

http://www.2shared.com/document/F1VMxJO1/index.html

Do pobranie 1 plik HTML. Jeśli otworzymy w przeglądarce i pokażemy źródło wygląda OK.

Jeśli zmienimy rozszerzenie na .txt, plik jest nieczytelny (w sensie wizualnym).

Dlaczego tak się dzieje?

Zacznijmy od tego, że pliki txt chyba nawet głupich obrazków nie obsługują, a co dopiero zaawansowane formatowanie tekstu. Więc odpowiedź brzmi: nie.

Nie wiem co masz na myśli. Źródło to kod strony, jest pisany czystym tekstem. Co chcesz w ogóle osiągnąć zmieniając rozszerzenia? Przeglądarki internetowe mogą w jakiś sposób optymalizować kod źródłowy, stąd czytelniejszy wygląd.

“Źródło to kod strony, jest pisany czystym tekstem”

Zrobiłem mały test i okazało się inaczej.

Każdą stronę internetową (bez zapisywania na dysk) można otworzyć w edytorze tekstu (Plik -> otwórz -> adres strony -> otwórz), wtedy wyświetli nam się kod źródłowy tej strony.

Jeśli mamy do czynienia z czystym tekstem, bez formatowania, to bez względu w jakim edytorze go otworzymy, zawsze zobaczymy to samo.

Oto wyniki otwierania strony http://www.amazon.co.uk/

  1. Za pomocą notatnika

  2. Za pomocą wordpada

notatnikvswordpad.jpg

Jak widać wyniki się różnią. Z notatnika nic nie wyczytamy, natomiast w WordPadzie mamy ładnie wyświetlony tekst sformatowany (formatowanie jest identyczne jak podczas wyświetlania z poziomy przeglądarki za pomocą “pokaż źródło”)

Testy przeprowadzałem na kilku stronach, dla niektórych otwieranie w notatniku i wordpadzie daje identyczne rezultaty, dla innych, tak jak w przypadku amazon.co.uk otrzymujemy 2 odmienne sposoby wyświetlania tekstu.

Jak już wspomniałem, jeśli byłby to czysty tekst, ZAWSZE powinniśmy otrzymywać identyczne rezultaty. A tak nie jest.

Poczytałem.

Hmm wynikało by z tego że Notatnik nie radzi sobie z obsługą eol. A tak przecież nie jest …??

Nie rozumiem

Do edycji plików HTML dużo lepszy jest np. http://www.dobreprogramy.pl/Notepad,Pro … 12986.html

Notatnik tak jak wcześniej wspomniano często ma problemy z prawidłowym odczytem i zapisem tego typu plików (głównie względy kodowania).

Tak, ciężko zrozumieć. Dlaczego?

Za wikipedią:

“Współczesne edytory tekstu (w systemach opartych o ASCII) zwykle obsługują wszystkie sposoby oznaczania końca linii”

Ciężko mi zrozumieć że notatnik (wg powyższego stwierdzenia) nie jest współczesnym edytorem tekstu, podczas gdy wordpad jak najbardziej jest ponieważ radzi sobie z każdym rodzajem eol.

Poza tym próbowano mnie przekonać że wystarczy konwersja do .txt żeby oglądać źródło strony w takim samym formacie jak podczas przeglądania pliku źródła poziomu przeglądarki. co jak się okazało nie zawsze działa, a raczej działa czasami.

Dodane 11.01.2011 (Wt) 19:04

Dzięki ale ja w żadnym wypadku nie zamierzam nic edytować.

Ale tylko otwierać też możesz… Również pod innymi względami przewyższa systemowy Notatnik.

Ale ja tych plików w ogóle nie będę otwierał i na nie patrzył :wink: Po prostu potrzebuję te pliki przekonwertować do formatu .txt ponieważ będa one poddane obróbce przez inny program który obsługuje tylko .txt na wejściu.

jednym ze sposóboów aby zrobić to ręcznie byłoby otworzenie pliku .html w wordpadzie i później zapisanie go jako .txt.

Wtedy .txt wygląda tak jak .rtf. (oczywiście w przypadku plików html o których mówimy)

Niestety to rozwiązanie nie wchodzi w grę ponieważ ciężko by było “przekonwertować” około 500 000 plików w ten sposób.

Program który będzie obrabiał gotowe pliki .txt czyta go linijka po linijce analizując zawartość, dlatego zawartość pliku tekstowego nie może wyglądać tak jak widać na screenshotach powyżej (na tym po lewej).

No a próbowałeś w ogóle go otworzyć w programie, o którym wspominałem? Ręczę, że w nim on będzie wyglądał prawidłowo bez żadnej wcześniejszej przeróbki. Po prostu wystarczyłoby zmienić rozszerzenia tych plików (narzędzia do tego podał @cimlik w swoim pierwszym poście), lecz żeby wyglądały prawidłowo nie należy ich otwierać w tym tandetnym systemowym Notatniku, bo on po prostu nie pojmuje tego kodowania.

Przeczytaj jeszcze raz mój post wyżej.

Nie próbowałem otwierać go w tamtym programie, ponieważ ja chce te pliki konwertować a potem poddać analizie za pomocą innego programu, a nie ręcznie otwierać i czytać przed snem.

Gdybym chciał aby te pliki tylko wyglądały tak jak powinny, to zmieniłbym rozszerzenia wszystkich plików z .html na .rtf i po problemie. Ale ja potrzebuje te pliki w formacie .txt ponieważ program który będzie później obrabiał te dane na wejście przyjmuje tylko pliki .txt.

Dodane 11.01.2011 (Wt) 20:37

Plik źródłowy strony internetowej jest plikiem tekstowym, nie zawiera obrazków, a jedynie odnośniki do nich. Odnośniki są pisane za pomocą literek, cyferek i kilku innych podstawowych znaków z którymi notatnik radzi sobie nie gorzej niż MS World.

Poza faktem, że notatnik ma problemy z eol nie występuje w pliku źródłowym strony żadne zaawansowane formatowanie tekstu…

Wszystko się zgadza. Cały problem wynika z różnych interpretacji znaku końca linii

Za wikipedią:

CRLF : DOS, OS/2, Microsoft Windows, Symbian, DEC RT-11

CR : Commodore, Apple II, Mac OS (do wersji 9), Microware OS-9

LF : Unix, BeOS, Amiga, RISC OS, GNU/Linux, Mac OS X, MULTICS

Gdzie CR oznacza znak o kodzie 13 czyli CR=chr(13)

LF znak o kodzie 10 czyli LF=chr(10)

Żeby zatem naprawić tekst w którym znakiem końca linii jest LF wystarczy go poprzedzić znakiem CR.

Stosunkowo łatwo taki programik który będzie to robił masowo (np. dla wszystkich plików w danym katalogu) napisać i mam zamiar to zrobić bo też mi czasami przeszkadza. Jeśli ma się do czynienia z jednym plikiem to nie problem, ale w sytuacji takiej jak Twoja czyli wielu plików, to rzeczywiście jest uciążliwe. Stosowanie takiego czy innego znaku końca nie ma nic wspólnego z nowoczesnością jak sugerują niektórzy. Po prostu jedni przyjęli taki znak końca linii, a inni inny. W każdym bądź razie jest to jeszcze jeden przyczynek do wojenki Linux - Windows. :slight_smile:

Dodane 12.01.2011 (Śr) 0:17

Mam nadzieję, że udało mi się napisać procedurę która zmienia znaki końca linii na obowiązujące w plikach tekstowych w Windowsie.

Program o nazwie ReplacePL znajdziesz tutaj:

ReplacePL

Po uruchomieniu wybierasz opcję:

1)zmiany w plikach

  1. Wpisujesz rozszerzenie plików w którym mają być dokonane zmiany.

3)Wyszukujesz katalog w którym znajdują się pliki do zmiany.

(Zmiany zostaną dokonane we wszystkich plikach w katalogu)

Jeżeli zaznaczysz się opcję +podkatalogi to zmiany zostaną dokonane także w podkatalogach.

4)Klikasz klawisz '“wykonaj” i wszystko.